//下载图片
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 等
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)})}
})
本地文件下载保存
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);});});});}
);