//下载图片
javascript
downloadToLocal() {
plus.android.requestPermissions(
['android.permission.WRITE_EXTERNAL_STORAGE'],
(success) => {
uni.saveImageToPhotosAlbum({
filePath: '/static/x.png',//本地地址
success: () => {
this.$refs.uToast.show({
message: "模版下载成功!"
})
},
fail: () => {
uni.hideLoading();
this.$refs.uToast.show({
message: "模版下载失败"
})
}
});
}
);
}
下载文件 doc xls 等
javascript
uni.request({
url: `${http.config.baseURL}/user/dealear/import/template`, // 支持文件流、OSS文件下载
method: 'GET',
responseType: 'arraybuffer',
header: {'Authorization': 'Bearer' + ' ' + uni.getStorageSync('token')},
success: (res) => {
const base64 = uni.arrayBufferToBase64(res.data)
const filePath = '_documents/文件模版.xls' // 自定义路径
// 写入文件
plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) {
fs.root.getFile(filePath, {
create: true
}, function(fileEntry) {
fileEntry.createWriter(function(writer) {
writer.onwrite = function(e) {
plus.nativeUI.alert('文件已保存', function() {
plus.runtime.openFile(filePath) // 打开文件
})
}
writer.onerror = function(e) {
console.error('写入失败: ' + e.message)
}
// writer.write(res.data)
writer.writeAsBinary(base64)
}, function(e) {
console.error('创建Writer失败: ' + e.message)
})
}, function(e) {
console.error('获取文件失败: ' + e.message)
})
}, function(e) {
console.error('请求文件系统失败: ' + e.message)
})
}
})
本地文件下载保存
javascript
var timestampInSeconds = Math.floor(new Date().getTime() / 1000)
let staticFilePath = plus.io.convertLocalFileSystemURL('/static/x.xlsm');
plus.android.requestPermissions(
['android.permission.WRITE_EXTERNAL_STORAGE'],
() => {
// 2. 复制文件到下载目录
plus.io.resolveLocalFileSystemURL(staticFilePath, (entry) => {
plus.io.resolveLocalFileSystemURL('/storage/emulated/0/', (root) => {
entry.copyTo(root,`downloaded_`+timestampInSeconds+`.xlsm`, (newEntry) => {
uni.showToast({ title: '文件已保存' });
// 3. 尝试打开文件
plus.runtime.openFile(newEntry.fullPath);
});
});
});
}
);