上传多张图片使用uni.chooseImage
但是它默认一次性最多选择9张,切不可更改源码
需求是一次性可选择50张图片,有什么好的方法解决吗
关于#uniapp#的问题,如何解决?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
崽崽的谷雨 2023-04-28 10:53关注引用自 chatGPT:
由于 uni.chooseImage 接口的限制,无法更改一次性最多选择9张图片的限制。但是可以通过以下方式实现一次性选择50张图片的需求:1.分批选择:可以将50张图片分成5批,每批选择9张图片,最后将选择的所有图片合并起来。
2.自定义上传接口:可以自己编写上传图片的接口,通过 uni.chooseImage 接口选择多张图片后,将图片转成 base64 编码,然后通过网络请求将 base64 编码的图片上传到服务器。这种方式需要注意上传图片的大小,如果图片过大可能会导致网络请求失败。
3.使用第三方图片上传组件:可以使用第三方图片上传组件,例如 uni-uploader,该组件支持批量上传图片,并且可以设置上传图片的数量限制。使用该组件可以方便地实现一次性选择50张图片的需求。
您可以考虑使用uni-app官方提供的uni.uploadFile API,该API支持上传多张文件。您可以编写一个循环来选择并上传50张图片,例如:
for (let i = 0; i < 50; i++) { uni.chooseImage({ count: 1, success: function(res) { uni.uploadFile({ url: 'your upload url', filePath: res.tempFilePaths[0], name: 'file', success: function(uploadRes) { console.log('Upload success'); } }); } }); }在这个例子中,我们循环50次通过 uni.chooseImage 来选择一张图片,然后使用 uni.uploadFile 上传所选图片。需要注意的是,上传过程可能需要一些时间,因此建议您适当处理上传的顺序和并发数,以避免系统资源耗尽的问题。
解决 无用评论 打赏 举报