uni.chooseimage 获得图片之后,怎么上传
时间: 2023-06-03 08:03:29 浏览: 305
您可以调用uni.uploadFile()来上传选择的图片,需要将图片转为base64格式作为参数传递给uploadFile()方法,并设置上传的地址和成功上传后的回调函数。以下是一个示例代码:
```
uni.chooseImage({
count: 1,
success: function(res) {
var imgData = res.tempFilePaths[0]
uni.getFileSystemManager().readFile({
filePath: imgData,
encoding: 'base64',
success: function(data) {
uni.uploadFile({
url: 'your upload url',
filePath: imgData,
name: 'file',
header: {},
formData: {
'file': data.data
},
success: function(res) {
console.log(res)
}
})
}
})
}
})
```
其中,'your upload url'需要替换为您需要上传的服务器地址。
相关问题
uni.chooseImage获取文件流
uni.chooseImage是uni-app框架中提供的一个API,用于从本地相册选择图片或使用相机拍照获取图片,并返回选择的图片文件流。
使用方法如下:
```
uni.chooseImage({
count: 1, // 最多可以选择的图片张数,默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
// tempFilePaths为选择的图片的临时文件路径数组
var tempFilePaths = res.tempFilePaths;
// do something...
}
});
```
其中,success回调函数的参数res包含以下属性:
- tempFilePaths: 选择的图片的临时文件路径数组
- tempFiles: 选择的图片的本地文件信息数组,包含文件大小、创建时间等信息
需要注意的是,由于uni-app是跨端开发框架,所以在不同端上可能会有一些差异。例如,在H5端上,由于安全限制,无法直接获取文件流,而只能获取base64编码的图片数据。如果需要将图片上传到服务器,可能需要将base64编码的图片数据转换为文件流。
uniapp 在app端如何选择本地json文件,不用uni.chooseImage方法
可以使用uni.request方法来获取本地的json文件内容。
1. 在manifest.json文件中配置要访问的本地json文件路径:
```
{
"app": {
"localResourceRules": [
{
"path": "/static/",
"read": true,
"write": false
}
]
}
}
```
2. 在代码中使用uni.request方法来获取本地json文件内容:
```
uni.request({
url: '/static/data.json',
success: (res) => {
console.log(res.data);
}
});
```
其中,'/static/data.json'是在manifest.json文件中配置的本地json文件路径。通过uni.request方法获取到的res.data即为本地json文件内容。
阅读全文