这是我生成zip文件的代码;我无法将.zip
文件上传到服务器,显示错误,如[[Promise]]不是文件:
var zip = new JSZip();
zip.file("Hello.txt", "Hello World\n");
/*create a folder*/
var img = zip.folder("images");
/*create a file in images folder*/
img.file("Hello1.txt", "Hello111 World\n");
/* generate the zip file */
var content = zip.generateAsync({type:"blob"});
这是我尝试上传zip文件的代码但没有得到回复。
var fd = new FormData();
fd.append('fileZip', content);
$.ajax({
data: fd,
url: '/plan-upload/1',
type: 'POST',
processData: false,
contentType: false,
success: function(response) {
alert("success"); /*$('#text-us').modal('toggle');*/
}
});
现在,我们可以将生成的zip文件上传到服务器吗?如果有,怎么样?如果不是,为什么?
答案 0 :(得分:0)
当我们生成执行此代码的zip时
var content = zip.generateAsync({type:"blob"});
在内容变量中有一些对象类型日期,如promise或Blob type。 因此,后端代码不会将其识别为文件,现在就这样做
var file = new File([content], "name.zip");
现在我们可以发送此文件,执行此操作
var fd = new FormData();
fd.append('fileZip', file);
$.ajax({
data: fd,
url: '/plan-upload/1',
type: 'POST',
processData: false,
contentType: false,
success: function(response) {
alert("success"); /*$('#text-us').modal('toggle');*/
}
});