// 创建Blob
cloneFile(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onload = (e) => {
const arrayBuffer = e.target.result;
const newBlob = new Blob([arrayBuffer], { type: file.type });
resolve(newBlob);
};
reader.onerror = reject;
reader.readAsArrayBuffer(file);
});
},
// 创建新的File对象
createNewFile(blob, fileName) {
return new File([blob], fileName, {
type: blob.type,
lastModified: new Date().getTime() // 或者使用原始文件的 lastModified 属性
});
},
deepCloneFile(file) {
let that = this;
return that
.cloneFile(file)
.then((blob) => that.createNewFile(blob, file.name));
},
//使用(拿到深拷贝的文件)
let file = await this.deepCloneFile(this.file);
04-14
2690
