uni.chooseimage 获得图片之后,app怎么上传
时间: 2023-06-03 12:03:35 浏览: 262
你可以使用uni.uploadFile进行上传。首先,需要在HBuilderX中的manifest.json文件中的"networkTimeout"设置项中设置上传文件的网络请求超时时间,然后通过uni.chooseImage获得选择的图片路径,再通过uni.uploadFile上传该图片到服务器。可以设置上传进度监听器,以便实时监听上传进度。具体用法和示例可以查看uni-app官方文档。
相关问题
uni.chooseImage上传图片压缩
在uni-app框架中,`uni.chooseImage` 是用于选择图片的API,但它本身并不直接包含图片压缩的功能。如果你需要在选择图片后对图片进行压缩,你可以按照以下步骤操作:
1. **选择图片**:
```javascript
async chooseImage() {
let result = await uni.chooseImage({
count: 1, // 可选, 默认9,最多选取张数
sizeType: ['original', 'compressed'], // 可选,返回原图和压缩后的图
sourceType: ['album', 'camera'], // 可选,来源,只能二者之一
});
if (result.success) {
let compressedImgURL = result.tempFilePaths[0]; // 获取压缩后的图片路径
// ... 对图片进行后续处理
}
}
```
2. **使用第三方库压缩图片**:
uni-app支持使用如`@dcloudio/uni-image-compress`这样的插件来进行图片压缩。首先安装插件:
```
npm install @dcloudio/uni-image-compress --save
```
然后在项目中使用它:
```javascript
import ImageCompress from '@dcloudio/uni-image-compress';
compressImage(compressedImgURL) {
const imageCompress = new ImageCompress();
imageCompress.compress({
srcUrl: compressedImgURL,
destWidth: 500, // 目标宽度
destHeight: 500, // 目标高度
quality: 0.8, // 压缩质量,默认0.8
success: function(res) {
let compressedPath = res.tempFilePath; // 压缩后的文件路径
// ... 使用压缩后的图片路径
},
fail: function(err) {
console.error('图片压缩失败:', err);
},
});
}
```
uni.chooseimage不生效
uni.chooseImage是uni-app框架中的API,而wx.chooseImage是微信小程序中的API,两者不同,不能混用。如果你想在uni-app中选择图片,应该使用uni.chooseImage。如果你已经在使用uni.chooseImage,但它不生效,可能是以下原因导致的:
1. 没有在manifest.json文件中声明相应的权限。
2. 没有在页面中引入uni-app的API。
3. 没有在页面中正确调用uni.chooseImage方法。
你可以检查以上三个方面,看看是否有问题。如果还是无法解决问题,可以提供更多的细节或代码,以便更好地帮助你解决问题。
阅读全文