uniapp如何将本地文件附件提交接口上传到服务器

使用
plus.io.resolveLocalFileSystemURL:
通过URL参数获取目录对象或文件对象
使用
plus.io.FileReader:
读取文件系统中的文件对象,用于获取文件的内容
使用 FileReader 的
readAsDataURL:
以URL编码格式读取文件数据内容

放上我的代码,仅供参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
getUrlFile(fileUrl, cb) {
plus.io.resolveLocalFileSystemURL(fileUrl, function(entry) {
entry.file(
function(file) {
const reader = new plus.io.FileReader();
reader.onloadend = function(e) {
const data = e.target.result; // data为文件对象
cb && cb(data); // 我的做法是 callback 出去,拿到文件内容,然后调用接口
};
reader.readAsDataURL(file);
},
function(err) {
console.log("读写出现异常", err);
}
);
});
},