cordova file 插件选择本地图片遇到中文乱码问题

项目中使用图片上传功能,一直以来都是使用cordova的file插件,之前也没有遇到什么问题,但是今天在测试过程中,测试人员反馈,所有拍照上传图片OK,但是截图就报错。于是在我自己的手机上测试后,发现并没有该问题,所以第一反应是不是手机差异,询问后发现测试用的是vivo X9(心中一万匹草泥马奔腾,又是vivo的。。。遇到N个问题都是OV的手机),借来后连上电脑,debug后发现,在文件上传时报错FILE_NOT_FOUND,这就很尴尬了,但是文件确实存在。再次进入断点后发现,原来是文件名出现了问题,在获取到文件后,文件名中文部分居然变成了乱码,所以这里需要对文件名进行下转换,将乱码部分还原成中文。
直接上代码:

var options = {
               maximumImagesCount: 6,//设置最多只能选择6个照片,以免出现内存溢出
               width: 800,
               height: 700,
               quality: 80
           };

window.imagePicker.getPictures(
   function(results) {
               var filename = '';
       for (var i = 0; i < results.length; i++) {
           console.log('Image URI: ' + decodeURI(results[i]));
       }
   }, function (error) {
       console.log('Error: ' + error);
   }, {
       maximumImagesCount: 10,
       width: 800
   }
);

核心部分在于调用decode方法来将乱码部分转换回中文.

你可能感兴趣的:(cordova file 插件选择本地图片遇到中文乱码问题)