asp-classic - ASPupload 'if Not File Is Nothing' 始终返回 false

标签 asp-classic

使用Persits ASPupload component上传和处理文件(经典 ASP)。

文件正在通过 jQuery ajax 表单上传。

我遇到了一种奇怪的情况,即使文件肯定已上传(我可以在服务器上查看)。

这是我的 jQuery 代码:

    var hiddenSignature = $("#hiddenSignature").val();

    var formData = new FormData();

    formData.append('closingPic', $('#closingPic')[0].files[0]);
    formData.append('hiddenSignature',hiddenSignature);

    $.ajax({ 

        url: "ajax_tickets_file.asp?action=cost", 
        type: "POST", 
        enctype: 'multipart/form-data',
        contentType: false,
        processData: false,     
        data: formData, 

        beforeSend: function() {
            ...
        },
        success: function(msg) { 
            ...
       }
    });

这是ajax_tickets_file.asp上的服务器端代码:

   Set objUpload = Server.CreateObject("Persits.Upload.1")

    With objUpload

       .CodePage = 65001
       .OverwriteFiles = False

       Set file = .Files("closingPic")

       .SaveVirtual defaultUploadsFolder  // a file is indeed saved on the server, at the correct location 
       response.write " saved  "

       if Not file Is Nothing Then
            response.write “we have a file” 
        else
             response.write "no file"   //  this is what I get
        end if

因此,如前所述,我打印出“无文件”。

怎么会发生这种事?

谢谢

最佳答案

感谢 Persits ASPupload 的所有者对我的帮助

代码应该是:

   .CodePage = 65001
   .OverwriteFiles = False

   //these 2 lines should be in reversed order: 'save' before 'set file'
   .SaveVirtual defaultUploadsFolder   
   Set file = .Files("closingPic")

关于asp-classic - ASPupload 'if Not File Is Nothing' 始终返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61526937/

相关文章:

c# - 如何将经典 ASP 响应对象传递给 C# DLL

javascript - 调用js函数

ajax - 经典 ASP 和 Ajax 中的依赖组合?

visual-studio - Visual Studio 2012 和经典 ASP 缩进(智能)

c# - 使用 C# .net DLL 对象的经典 ASP 不支持此属性或方法

apache - 经典 ASP 启用 Windows 身份验证但 Request.ServerVariables (“LOGON_USER” ) 有时会返回错误的用户名

c# - 如何调试并单步执行 COM 对象

jquery - 将ajax调用的结果放入变量中

asp.net - 你认为微软为什么没有将 asp-classic 作为 .net 中的另一种语言实现

asp-classic - 获取变量名 Classic ASP