五叶神
五叶神
  • 发布:2019-08-22 09:58
  • 更新:2020-04-22 17:16
  • 阅读:5085

解决mui.ajax使用FormData方式上传图片无法接收参数的问题

分类:MUI

以前图片上传一直采用的图片压缩后上传base64字符串的方式,没有任何问题,最近的一个项目跟其他端是公用的接口,必须使用input file文件上传图片,结果接口各种接收不到formData append的参数,论坛各种搜都是说放弃file上传方式,最后采用原生XMLHttpRequest上传终于可以了。代码如下:

var xhr = new XMLHttpRequest();  
var formData = new FormData();  
formData.append('file', file);  
formData.append('openId', localStorage.openId);  
formData.append('provider', 'app');  

xhr.open('POST', URL + 'mobileshopapi/Common/PostUploadImage', true);  
xhr.onreadystatechange = function(){  
    if(xhr.readyState == 4 && xhr.status == 200){  
        var res = JSON.parse(xhr.responseText)  
    }  
}  
xhr.send(formData);
2 关注 分享
trek 3***@qq.com

要回复文章请先登录注册

7***@qq.com

7***@qq.com

回复 9***@qq.com :
我查了一下是因为ios上WKWebview内核上用FormData会跨域,所以要么使用plus原生上传方式,或者切换内核UIWebview
2020-04-22 17:16
前端开发者福建

前端开发者福建

回复 9***@qq.com :
。。。。放弃了file请求,改为base64,并且xhr换成mui.ajax
2020-04-21 18:16
9***@qq.com

9***@qq.com

回复 前端开发者福建 :
我是从mui.ajax 到原生的 mui.ajax 代码能分享看下吗
2020-04-21 18:04
前端开发者福建

前端开发者福建

回复 9***@qq.com :
放弃了,我直接用mui.ajax
2020-04-21 17:47
9***@qq.com

9***@qq.com

回复 前端开发者福建 :
对对对对 你的这个问题解决了没
2020-04-21 17:23
9***@qq.com

9***@qq.com

回复 7***@qq.com :
没呢 照上面的方式 xhr.status状态是0
2020-04-21 15:48
7***@qq.com

7***@qq.com

回复 9***@qq.com :
我也碰到一样的问题,ios上FormData 后台接受不到数据,不用FormData方式是可以的,你解决了没
2020-04-15 19:07
9***@qq.com

9***@qq.com

回复 前端开发者福建 :
你的问题解决了吗 我的项目也遇上了 但是只是在ios上
2020-04-08 18:39
前端开发者福建

前端开发者福建

回复 五叶神 :
发现是请求头不能随便设置
2020-03-04 16:28
前端开发者福建

前端开发者福建

发现是请求头不能随便设置
2020-03-04 16:28