需求:在上传图片的时候,后端限制了上传的文件格式只能为png,而前端在选择文件的时候是可以上传jpg、jpeg、png、gif等文件格式的,如果不是png格式,后端就会抛回错误。
解决办法:在文件传到后端之前,修改文件后缀名。
需要注意的地方有两点:1、会出现中文乱码的问题;2、文件名可能有多个点号。
//假设imageFile.name = '小池子.jpeg.jpeg'
var finalName = encodeURIComponent(encodeURIComponent(imageFile.name.match(/.*(?=\.)/)+'.png'));
//如果文件名有中文,需进行编码,不然会出现乱码。相信有些童鞋已经发现了这里进行了两次编码。
//finalFileName=%25E5%25B0%258F%25E6%25B1%25A0%25E5%25AD%2590.jpeg.png 结果如下图
image.png
推荐个在线正则表达式测试网:https://tool.oschina.net/regex/
网友评论