uni.request({
url: url,
method: 'GET',
header: {
'Authorization': token,
responseType: 'blob',
},
responseType: "arraybuffer",
success: (res) => {
uni.hideLoading()
const fs = wx.getFileSystemManager(); //获取全局唯一的文件管理器
let index = url.lastIndexOf(".");
const typeRp = url.slice(index, url.length);
let fileType = url.slice(index + 1, url.length);
var platform = wx.getSystemInfoSync();
if (platform.platform === "ios") {
if (fileType == 'xls') {
fileType = fileType + 'x'
}
}
const filePath = `${wx.env.USER_DATA_PATH}/preview${typeRp}`;
fs.writeFile({
filePath,
data: res.data,
encoding: "binary", //二进制流文件必须是 binary
success(res) {
uni.hideLoading()
// console.log(res, '写入成功', typeRp, fileType);
fs.access({
path: filePath,
success: () => {
wx.openDocument({
filePath,
fileType,
showMenu: true,
success: function(res) {
setTimeout(() => {
wx.hideLoading();
}, 500);
},
});
},
fail: (err) => {
uni.hideLoading()
},
});
},
});
},
fail: (err) => {
uni.hideLoading()
},
})
如果是苹果系统就需要修改一下后缀
var platform = wx.getSystemInfoSync();
if (platform.platform === "ios") {
if(fileType == 'xls') {
fileType = fileType + 'x'
}
}