uniapp 本地图片路径转base64
时间: 2023-09-22 07:12:07 浏览: 174
可以使用uniapp自带的`uni.getImageInfo()`方法获取本地图片的信息,然后使用`uni.getFileSystemManager()`方法读取本地图片的内容,最后使用`uni.arrayBufferToBase64()`方法将图片内容转为base64编码。
示例代码如下:
```js
// 获取图片信息
uni.getImageInfo({
src: '/static/image.jpg',
success: function (res) {
// 读取图片内容
uni.getFileSystemManager().readFile({
filePath: res.path,
encoding: 'base64',
success: function (data) {
// 转为base64编码
var base64Data = uni.arrayBufferToBase64(data.data)
console.log(base64Data)
}
})
}
})
```
相关问题
uniapp base64转本地路径
要将base64转换为本地路径,可通过uniapp的方法进行处理。具体步骤如下:
1. 首先需要将base64转换为文件。可以使用uniapp提供的`base64ToArrayBuffer`方法将base64编码转换为ArrayBuffer对象,代码如下:
```javascript
let base64 = 'your base64 data';
let arrayBuffer = uni.base64ToArrayBuffer(base64);
```
2. 接下来,将ArrayBuffer对象转换为Blob对象。可以使用`new Blob()`方法,代码如下:
```javascript
let blob = new Blob([arrayBuffer], {type : 'image/png'});
```
3. 将Blob对象转换为本地路径。可以使用`URL.createObjectURL`方法生成本地路径,代码如下:
```javascript
let localPath = URL.createObjectURL(blob);
```
以上就是将base64转换为本地路径的步骤。在uniapp中,生成本地路径后可以通过`uni.getImageInfo`方法获取图片信息,或直接在页面上显示该图片。另外,使用完转换后的本地路径后,为了释放内存,还需要使用`URL.revokeObjectURL`方法释放该路径,代码如下:
```javascript
URL.revokeObjectURL(localPath);
```
希望以上内容能对你有所帮助。如有疑问,可以随时追问。
uniapp base64图片转本地临时图片
在uniapp中,你可以使用以下代码将base64图片转换为本地临时图片:
```javascript
import { uni } from '路径'
// 将base64图片转为本地临时图片
function base64ToSave(base64data, FILE_BASE_NAME = 'tmp_base64src') {
const fsm = uni.getFileSystemManager();
return new Promise((resolve, reject) => {
// 获取图片格式和数据
const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || [];
if (!format) {
reject(new Error('ERROR_BASE64SRC_PARSE'));
}
// 定义保存路径
const filePath = `${uni.env.USER_DATA_PATH}/${FILE_BASE_NAME}.${format}`;
const buffer = uni.base64ToArrayBuffer(bodyData);
// 将数据写入文件
fsm.writeFile({
filePath,
data: buffer,
encoding: 'binary',
success() {
resolve(filePath);
},
fail() {
reject(new Error('ERROR_BASE64SRC_WRITE'));
},
});
});
}
// 使用示例
const base64Image = "data:image/png;base64,iVBORw0KG..."; // 替换为你的base64图片数据
base64ToSave(base64Image)
.then(filePath => {
// 在这里可以使用转换后的本地临时图片路径
console.log(filePath);
})
.catch(error => {
// 处理错误
console.error(error);
});
```