uniapp—H5 上传图片,拍照上传的问题总结

一、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'
                    })
                }
            })
        },

0

版权声明 ▶ 本网站名称:我的学习笔记
▶ 本文链接:https://ooolo.net/article/580.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!!

none
最后修改于:2024年12月27日 14:45

添加新评论

icon_mrgreen.pngicon_neutral.pngicon_twisted.pngicon_arrow.pngicon_eek.pngicon_smile.pngicon_confused.pngicon_cool.pngicon_evil.pngicon_biggrin.pngicon_idea.pngicon_redface.pngicon_razz.pngicon_rolleyes.pngicon_wink.pngicon_cry.pngicon_surprised.pngicon_lol.pngicon_mad.pngicon_sad.pngicon_exclaim.pngicon_question.png