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
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);
}
);
});
},