uni.chooseimage 获得图片之后,怎么上传
时间: 2023-06-03 19:03:29 浏览: 173
您可以调用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 获得图片之后,app怎么上传
你可以使用uni.uploadFile进行上传。首先,需要在HBuilderX中的manifest.json文件中的"networkTimeout"设置项中设置上传文件的网络请求超时时间,然后通过uni.chooseImage获得选择的图片路径,再通过uni.uploadFile上传该图片到服务器。可以设置上传进度监听器,以便实时监听上传进度。具体用法和示例可以查看uni-app官方文档。
uni.uploadFile和uni.chooseImage上传图片变形
根据引用中的代码,可以看出选择图片后,通过使用`uni.createCanvasContext`创建画布上下文,然后使用`ctx.drawImage`方法将选择的图片绘制在画布上,指定绘制的位置和大小。最后使用`ctx.draw`方法将图片绘制到画布上。
而根据引用中的说明,`uni.createCanvasContext`方法的第二个参数可以指定在哪个自定义组件下查找拥有指定canvas-id的画布,如果省略则不在任何自定义组件内查找。
根据以上分析,可以得出结论:`uni.uploadFile`和`uni.chooseImage`上传图片不会导致图片变形。图片变形可能是由于在绘制图片时指定的位置和大小不正确导致的。可以根据需要调整`ctx.drawImage`方法中的位置和大小参数,以保持图片的比例和正确的显示效果。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* *2* [wx 小程序基于canvas压缩图片](https://blog.csdn.net/hbiao68/article/details/102816433)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]