IOS钉钉打开网址无法上传图片

做了一个功能,从客户的钉钉跳转我们的网站,但是客户反应钉钉无法上传图片

首先考虑的是苹果和安卓系统的问题,在浏览器测试的,发现ios15以下的可以正常上传,15以上的报错,本地没问题,正式服报错.此处问题后台通过改图片格式判断解决了(不知道什么原理)

然后考虑到钉钉内置浏览器的问题,检查ios钉钉和安卓的打印,formdata不一样

ios钉钉打印结构为

{
	appendData:{},
	realFormData:{}
}

正常结构

 

修改代码 

// 去上传至服务器
        const formData = new FormData();
        formData.append('file', _.file);
        this.$httpRequest({
          axiosConfig: {
            url: `${this.api + this.resourceType}`,
            method: 'post',
            data: formData,
//以下为修改代码
            transformRequest: [function (data, headers) {
              // 去除post请求默认的Content-Type
              delete headers.post['Content-Type'];
              return data;
            }],
//以下为原代码
            // headers: {
            //   'content-type': 'multipart/form-data',
            // },
          },
        }).then((res) => {
          const data = res.Data;
          Object.assign(_, data.Files[0]);
          Object.assign(_, {
            status: 'done',
            message: '上传成功',
            UploadDate: data.UploadDate,
            Uploader: data.Uploader,
            UploaderId: data.UploaderId,
            FileSize: data.Files[0].FileSize || data.Files[0].Length,
            FilePath: data.Files[0].FilePath || data.Files[0].RelativePath,
            IsFolder: false,
          });
        }).catch((err) => {
          Object.assign(_, {
            status: 'failed',
            message: '上传失败',
          });
        });
      });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值