使用 坚持ASPupload组件 来上传和处理文件(经典ASP)。
文件是通过一个jQuery的ajax表单上传的。
我遇到了一个奇怪的情况,习惯性的测试 if Not File Is Nothing Then
总是返回 false
即使文件肯定已经被上传了(我在服务器上可以看到它)。
这是我的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")