Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
上传时压缩客户端(javascript)上的PSD和AI文件_Javascript_Jquery_Json_Jszip - Fatal编程技术网

上传时压缩客户端(javascript)上的PSD和AI文件

上传时压缩客户端(javascript)上的PSD和AI文件,javascript,jquery,json,jszip,Javascript,Jquery,Json,Jszip,我正在发布帖子(使用PSD文件),这些文件的大小非常大,所以我尝试在上传文件后(发布帖子之前)压缩它们,我使用了jszip包,它对我有效,但不幸的是,我无法修改FileList()对象,以便在不使用(数据传输)的情况下将新的压缩文件分配到文件字段Safari和IE中不支持此功能 let zip = new JSZIP() zip.file(filename, file_input_field.files[0]) zip.generateAsync({type:"blob"})

我正在发布帖子(使用PSD文件),这些文件的大小非常大,所以我尝试在上传文件后(发布帖子之前)压缩它们,我使用了jszip包,它对我有效,但不幸的是,我无法修改FileList()对象,以便在不使用(数据传输)的情况下将新的压缩文件分配到文件字段Safari和IE中不支持此功能

let zip = new JSZIP()
zip.file(filename, file_input_field.files[0])
zip.generateAsync({type:"blob"}).then((blobdata)=>{
let zipblob=new DataTransfer();
let zip_file=new File([zipblob], “filename.zip”);
list.items.add(zip_file);
let myFileList = list.files;
file_input_field.files = myFileList


谢谢你的帮助

files属性是,您不能修改它

在您的情况下,我将使用FormData接口并异步发送表单。您在此页面上有一个清晰的示例:

在本例中,它们使用
XMLHttpRequest
,但您也可以使用。另见: