当前位置:首页 > 技术分享

uni.uploadFile h5上传文件失败完美解决方案 h5上传文件后台无法获取

admin4年前 (2022-09-07)技术分享5277

在小程序开发项目中,用到了uni-app框架,但因为需要兼容h5,其中有图片上传,后台始终不能获取到上传的文件。

网上找了各种办法,发现很多小程序开发采用uni-app框架都遇到了同样的问题:uni.uploadFile h5上传文件后台无法获取,甚至还牵扯到了payload、form data传值方式。

后来,经过创软小程序开发团队不断尝试,发现只要取消header设置即可,不知道为什么,反正这样实现了。

小程序开发的uni-app h5上传文件代码参考如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uni.uploadFile({
    url:'http://www.test.com',     // 后端api接口
    filePath: res.tempFilePaths[0], // uni.chooseImage函数调用后获取的本地文件路劲
    name:'file',     //后端通过'file'获取上传的文件对象
    formData: {
        'billGID': "xxxccc",  
        'token':"dddd"
    },
    success:(res) => {
        console.log(res)
    },
    fail: (err) => {
        console.log('uploadImage fail', err);
        uni.showModal({
            content: err.errMsg,
            showCancel: false
            });
    }
});

当然,如果用到了跨域,需要设置 OPTIONS 请求,因为表单跨域上传文件,会先发送OPTIONS请求验证服务器是否可用。asp.net 跨域,在web.config中配置如下

1
2
3
4
5
6
7
8
9
<system.webServer>
  <httpProtocol> 
    <customHeaders> 
      <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/> 
      <add name="Access-Control-Allow-Origin" value="*" /> 
    </customHeaders> 
  </httpProtocol>
 
</system.webServer>

如果使用的阿里云OSS服务,阿里云OSS前端AJAX直接上传请参考阿里云OSS上传请求403问题的完美解决方案。


转自:http://www.teamsfy.com/html/r_28d3748f7a0449d8aeac8dd78a547f6e.html

扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/413.html

分享给朋友:

“uni.uploadFile h5上传文件失败完美解决方案 h5上传文件后台无法获取” 的相关文章

PIP 更换国内安装源linux/windows

pip国内的一些镜像  阿里云 http://mirrors.aliyun.com/pypi/simple/   中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/   豆瓣(…

抢先体验太阳谷!20H1、20H2、21H1替换“Dev版新图标”

尽量不要替换shell32.dll.mun和zipfldr.dll.mun,这两老哥可能会带来无法预测的风险!不解除被替换文件的硬链接,已确定会导致无法安装质量更新!(详见H大测评)单替换imageres.dll.mun新图标覆盖率基本可达…

阿里云盘 分享脚本 抢先实现文件分享功能

Win端基本所有浏览器均可进行安装安装地址:https://bbs.tampermonkey.net.cn/thread-427-1-1.html如何安装:Tampermoneky安装:谷歌浏览器参考:https://bbs.tamperm…

apache限制某个目录下的php文件没有执行权限 解决图片木马

1. 使用.htaccess 文件限制 在要限制php执行的目录下,创建.htaccess文件,加入内容php_flag engine off.htaccess 下载地址(使用方法,下载后解压 上传.htaccess文件到附件目录)http…

TeraCloud:日本免费15G网盘,支持WebDav。适合搭配Zotero,AirExplorer实现自动同步备份

TeraCloud:日本免费15G网盘,支持WebDav。适合搭配Zotero,AirExplorer实现自动同步备份

TeraCloud是日本老牌网盘,速度挺快的。注册之后输入邀请码:“SX3BY”还可获得额外的5 GB.(如果你不输入邀请码,只能有10G)。经过我自己的尝试,我发现windows自带的资源管理器同步并不好,推荐Teracloud推荐的一些…

Windows下SVN自动更新

Windows下SVN自动更新

1、创建post-commit.bat文件,放到C:\Repositories\pms\hooks文件夹下(注意不要先创建txt文件然后改后缀,pms为代码目录名),内容如下:@echo off "C:\Tortois…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。