uniapp获取图片文件
时间: 2023-12-07 15:04:18 浏览: 108
在uniapp中获取图片文件可以通过以下步骤实现:
1. 使用uni.request方法发送GET请求获取图片的arraybuffer格式数据。
2. 将arraybuffer格式数据转换为base64格式路径。
3. 使用image-tools中的方法将base64格式路径转换为普通路径,用于预览。
4. 使用uni.previewImage方法预览图片。
以下是示例代码:
```javascript
// 获取arraybuffer格式数据
let res = await uni.request({
method: "GET",
url: /* 请求路径 */,
params: { id },
responseType: "arraybuffer"
})
// 转换为base64格式路径
const base64Src = 'data:image/png;base64,' + uni.arrayBufferToBase64(res.data);
// 将base64路径转为普通路径,用于预览
const path = await base64ToPath(base64Src);
// 预览图片
uni.previewImage({
urls: [path], // 预览的图片路径数组
current: 0, // 打开的图片在数组中的索引
longPressActions: { // 长按图片出现的提示保存图片的弹框
itemList: ['保存图片'],
success: (data) => {
// 保存图片到本地相册
uni.saveImageToPhotosAlbum({
filePath: path,
success: function() {
uni.showToast({ title: '保存成功', icon: 'none' })
},
fail: function() {
uni.showToast({ title: '保存失败', icon: 'none' })
}
});
},
fail: (err) => {
console.log(err.errMsg);
}
}
});
```
阅读全文