uniapp—H5 上传图片,拍照上传的问题总结 Published on Dec 27, 2024 in 随笔 with 0 comment 一、uniapp-H5上传图片会出现那些问题尼? uniapp官方背大锅,h5端与其他小程序、app在这个地方的处理方式不同,filePath支持其他,唯独h5不行 ——h5端上传前必须转为file对象上传,其他端直接filePath就ok; uni.uploadFile()上传blob文件给服务端后,后端获取file对象的时候,没法获取后缀名(小程序,app上面有后缀名),从而上传失败 通过uni.chooseimage() 选择图片,将blob路径传递给后端 将base编码图片转成blob文件路径,上传 将图片进行处理(譬如图片压缩,或者uni.canvasToTempFilePath() 处理后),转成blob上传 用第三方插件处理的图片返回的blob,直接上传 ——h5端上传前必须转为file对象上传 在ios真机在调试过程中会出现后端成功返回数据,但是前端接受不到数据的情况就报错了,原因是文件过大 ——方法一:uploadFile直接设置超时请求(时间长) 方法二:对图片进行压缩处理(像素降低) ``` /** * 上传到服务器 * @description 这块需要您自行处理 * @param {Object} file - 要上传的file对象 * @return void */ upload(file) { uni.uploadFile({ name: 'file', url: '您的上传接口!!', // 这块需要额外注意,h5必须使用"file",并且只接受file对象 file: file, // END fileType: 'image', success: (res) => { console.log('上传成功', res) uni.showToast({ title: '上传成功', icon: 'none' }) } }) }, ``` 本文由 admin 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。