uniapp中上一篇介绍图片,但在H5端是不能实现图片上传的

解决办法:

  // #ifdef H5

      const imgBlob = await fetch(res.tempFilePaths[0]).then((r) => r.blob())
      const imgFile = new File([imgBlob], res.tempFiles[0].name, { type: imgBlob.type })
      let form = new FormData()
      form.append('avatarfile', imgFile)
      console.log(imgFile, '这个是什么样111111子')

      // console.log(file)
      // 正式将转好的File对象进行上传
      uni.uploadFile({
        url: `/api/Img`, //改为你的接口
        name: 'avatarfile',
        file: imgFile,
        fileType: 'image',
        success: (res) => {
          userInfo.value.picAddress = res.data
          console.log(res.data, '修改成功')
        },
        header: {
          // 需要带的请求头,token等等
          // 'content-type': 'multipart/form-data',
        },
      })

      // #endif

因为 在H5端是会把临时路径图片,改成blob类型的,所以你要改成  转成file文件对象

官网文档也说了   file参数是对于H5,其他的都用预filePath 即可,就可以传到后端,否则会连接不上 报错500.

结果拿到后:

注意:

不要乱加header

其余你可以借鉴    base64转格式都有  我这里是将h5 改好

至于后端代码 是node 和之前代码一样即可 不用改动uni-app - H5 通过 uni.uploadFile() 上传 Blob 文件路径图片图像,文件没有后缀扩展名(上传图片到服务端文件没有后缀名,服务端判断是无效的后缀名文件)终极且完美解决方案_uni.unloadfile 压缩后上传无后缀-CSDN博客

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值