-
为什么修改文件名?
有些时候为了保证文件名唯一性,我们需要二次处理已选择的文件,文件名添加时间戳
-
怎么修改?
van-uploader文件上传组件为我们提供了
before-read、after-read、before-delete属性,分别用来指定文件读取前、读取文件完成后、删除文件前的回调函数。通常文件上传方法是写在文件读取完成回调函数中的,首先我们需要确定我们在回调函数中拿到的文件是什么样的,浏览器中打印回调函数中的file参数
仔细观察我们会发现,这个是在file文件的外层又封装了一层,我们拿到的文件本身是这样的

仔细阅读van-ui的源码,我们会发现



组件里面返回给我们的是一个File对象,其中file属性才是我们的文件流,所有我们要修改和上传的是File对象中的file属性
file类型是只读的,强行修改文件名会发生错误,我们可以通过构造一个新的file对象来达到修改文件名的目的
//这里演示的是单个文件上传的情况 afterRead(file) { const tempFile = file.file const type = tempFile.type const size = tempFile.size const newName = new Date().getTime() + tempFile.name let uploadFile = new File([tempFile],newName,{type,size}) let formData = new FormData() formData.append('file', uploadFile) //调用文件上传接口上传文件 }
vant-ui uploader上传文件,修改文件名
最新推荐文章于 2025-08-19 15:32:50 发布
本文详细介绍了如何使用van-uploader组件在文件上传前修改文件名,通过构造新的File对象并添加时间戳确保文件名的唯一性。此方法适用于单个文件上传场景。

2182

被折叠的 条评论
为什么被折叠?



