之前文章我们已经讲述了如何将网络图片转化为本地图片,传送门:
https://blog.csdn.net/a1056244734/article/details/120261134
转好之后还需要有上传的操作,上述转换之后,File的图片名为gift文件
,上传的时候遇到错误,
懵逼…
后来使用上传工具选择本地图片上传测试之后才发现,参数一模一样,除了File文件的name有扩展名,也就是file.jpg
,解析网络图片时不知道图片最终的格式,就没有手动加扩展名,导致错误。
但是解析后的File文件有type字段,比如image/gif
、image/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的新的文件名以去重,大家也可以改为其他的文件名。