js修改上传文件(File)的文件名

本文介绍了在将网络图片转化为本地图片后,上传时遇到的File对象缺少扩展名导致的错误。作者通过分析上传工具的正确参数,发现需要File的name包含图片的扩展名。解决方案是利用File的type属性,结合时间戳创建新的文件名,避免重复并确保包含正确的文件类型信息。代码示例中展示了如何实现这一过程。
摘要由CSDN通过智能技术生成

之前文章我们已经讲述了如何将网络图片转化为本地图片,传送门:
https://blog.csdn.net/a1056244734/article/details/120261134
转好之后还需要有上传的操作,上述转换之后,File的图片名为gift文件,上传的时候遇到错误,
错误图片
懵逼…

后来使用上传工具选择本地图片上传测试之后才发现,参数一模一样,除了File文件的name有扩展名,也就是file.jpg,解析网络图片时不知道图片最终的格式,就没有手动加扩展名,导致错误。

但是解析后的File文件有type字段,比如image/gifimage/png,那么我们可以更改File的name,给它手动加上扩展名。

原理知晓,代码如下:

const type = file.type.split('/')
const renameFile = new File([file], moment().format('X') + '.' + type[1], {type: file.type});

这里moment().format('X'),使用毫秒数作为File的新的文件名以去重,大家也可以改为其他的文件名。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值