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



我正在发布帖子(使用PSD文件(,这些文件的大小非常大,所以我在上传文件后(以及发布帖子之前(尝试压缩它们,我使用了jszip包,它对我有效,但不幸的是,如果不使用Safari和IE不支持的(Data Transfer(,我无法修改FileList((对象以将新的压缩文件分配到文件字段。

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属性是一个FileList对象,您不能修改它。

在您的情况下,我将使用FormData接口并异步发送表单。在这个页面上有一个明显的例子:使用FormData对象-MDN。

在示例中,它们使用XMLHttpRequest,但您也可以使用Fetch API。另请参阅:使用获取。

最新更新