4***@qq.com
4***@qq.com
  • 发布:2018-10-26 18:32
  • 更新:2019-11-19 18:02
  • 阅读:3589

不使用uploader上传文件的方法

分类:HTML5+

最近公司要求统一http框架 需要脱离uploader改用普通的formdata上传文件,大体思路就是将plus的file对象转为blob然后重新生成符合formdata格式的file对象 代码如下:

function chooseFile(filter) {
var that = this;
plus.gallery.pick(function (path) {
plus.io.resolveLocalFileSystemURL(path, function (entry) {
entry.file(function (file) {
var reader = new plus.io.FileReader();
reader.onloadend = function (e) {
var file=(function (path,name) {
var arr = path.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], name, {type: mime});
})(e.target.result,entry.name);
var formData = new FormData();
formData.append("file", file);
that.upload(formData);
};
reader.readAsDataURL(file);
});
}, function (e) {
console.log(e)
});
}, function (e) {
console.log(e);
}, {filter: filter, system: true});
},

3 关注 分享
7***@qq.com 诸葛逍遥 2***@qq.com

要回复文章请先登录注册

2***@qq.com

2***@qq.com

请问filter是什么啊?
2019-11-19 18:02
7***@qq.com

7***@qq.com

mark
2019-01-31 17:13