gpt4 book ai didi

javascript - 如何(完全)复制文件但更改文件名?

转载 作者:行者123 更新时间:2023-12-05 08:10:37 26 4
gpt4 key购买 nike

所以我需要为将要上传的图像文件生成较小的预览,并且我必须在每个文件名的末尾附加“_preview”。

目前我正在这样做:

uploadFile.map((file) => {
if (file.type.includes('image')) {
console.log('Generating thumbnail for ' + file.name)
const fileName = file.name.split('.').slice(0, -1).join('.')
const fileExtension = file.name.split('.').pop()
const compressedFile = new File(
[file.slice(0, file.size, file.type)],
fileName + '_preview.' + fileExtension,
)
console.log('Generated file:', compressedFile)
convert({
file: compressedFile,
width: 300,
height: 300,
type: fileExtension,
})
.then((resp) => {
uploadFile.push(resp)
})
.catch((error) => {
// Error
console.error('Error compressing ', file.name, '-', error)
})
}
})

问题是“compressedFile”缺少原始文件中存在的一些字段,因此转换函数会抛出错误“不支持文件类型”。如您所见,“type”和“webkitRelativePath”未被复制。

enter image description here

有人可以建议我如何保留原始文件中的所有信息并在文件名末尾附加 _preview 吗?

最佳答案

我意识到文件 API 提供了一个选项来传递“选项”对象以及可以指定文件类型。例如:

const file = new File(["foo"], "foo.txt", {
type: "text/plain",
});

来源:https://developer.mozilla.org/en-US/docs/Web/API/File/File

关于javascript - 如何(完全)复制文件但更改文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72622814/

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