gpt4 book ai didi

javascript - 在 Dropzone 中上传之前的 Zip 文件

转载 作者:行者123 更新时间:2023-12-01 15:27:22 30 4
gpt4 key购买 nike

有没有办法从放置在 dropzone 中的文件生成 zip,然后将该 zip 文件发送到服务器?

我正在使用 JSZip 从文件中生成 zip在 sending dropzone事件:

this.on("sending", function(file, xhr, formData) {
var zip = new JSZip();
zip.file("Hello.csv", file);
zip.generateAsync({ type: "blob" }).then(function(content) {
// see FileSaver.js
saveAs(content, "example.zip");
});
});

如何使 dropzone 发送此文件而不是添加一个用户?

最佳答案

这在 dropzone 5.7.0 上对我有用,但我使用了 "addedFile"事件改为:

this.on("addedfile", function (file) {
if (file.done) {
return;
}
const dz = this;
dz.removeFile(file);
let z = new JSZip();
z.file(file.name, file);
z.generateAsync({
type: "blob",
compression: "DEFLATE",
compressionOptions: { level: 9}
}).then(function(content) {
let f = new File([content], file.name);
f.done = true;
dz.addFile(f);
});
});

我添加了压缩(JSZip 的默认值为 STORE )并保留了 file.name使压缩对用户透明(但是他们仍然会看到较小的尺寸)。

p.s.我不喜欢添加 f.done现场要么...欢迎更好的解决方案。

关于javascript - 在 Dropzone 中上传之前的 Zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39915899/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com