微信小程序 wx.uploadFile无法上传解决办法

发布时间 - 2026-01-10 21:49:24    点击率:

微信小程序 wx.uploadFile无法上传解决办法

微信安卓客户端无法使用wx.uploadFile上传文件的问题有不少开发者都遇到。

我也因为一直不能解决,硬着头皮提交审核最后被拒(抱着审核者最好用iOS检测的心态,不巧审核我应用的用的是安卓),才尝试使用第三方的手段解决。

最终我是用了七牛第三方存储的方式,将文件直接上传至七牛的储存的空间上再回调使用。

当然像又拍云,万象优图这些第三方存储源都可以采用这种思路。

首先是将七牛的https上传域名放进小程序的域名名单中。

这里我使用的是七牛华东区的域名https://up.qbox.me。

微信小程序wx.uploadFile采用的是multipart/form-data方式上传,即表单上传。

根据七牛的官方文档说明 http://developer.qiniu.com/docs/ ... up/form-upload.html

主要需要的就是file(文件本身)和token(上传凭证)。

然后在服务端部署获取上传凭证的业务代码,通过wx.request请求获取token。

   var that = this;

   wx.request({

    url: 'https://xxx/token',

    method: 'POST',

    data: {},

    header: {

     'content-type':'application/x-www-form-urlencoded'

    },

    success: function(res) {

      that.token = res.data; //默认返回一个token,赋值给已经有的token属性。这里只是示例,具体根据需求可自行设定。

    },

    fail:function (res) {

     console.log(res)

    }

   })

 具体如何部署七牛凭证代码,可参考http://78re52.com1.z0.glb.cloudd ... %9C%8D%E5%8A%A1.pdf

获得凭证后就可以通过wx.uploadFile上传了。具体代码为:

 var that = this;

  var key = Math.random().toString(36).substr(2); //生成一个随机字符串的文件名

  wx.uploadFile({

   url: 'https://up.qbox.me',

   filePath: flie,

   name: 'file',

   formData:{

    'token': that.token,//刚刚获取的上传凭证

    'key': key//这里是为文件设置上传后的文件名

   },

   success: function(r){

    var data = r.data;//七牛会返回一个包含hash值和key的JSON字符串

    if(typeof data==='string')data = JSON.parse(data.trim());//解压缩

    if(data.key){

     ... //这里就可以直接使用data.key,文件已经上传成功可以使用了。如果是图片也可以直接通过image调用。

    }

   },

   fail:function (res) {

    console.log(res)

   }

  })

最终采用这种方式解决了安卓无法上传文件的问题,当然上传自身服务器的问题还是有待解决。

不过对于急需解决方案的开发者还是提供了一个可行的方案。

现在利用第三方图源或存储源是一个普遍的方案,很多存储源例如七牛,又拍云,万象优图都提供了免费的空间供开发者使用。

建议大家也多做这方面的架构和尝试。

 感谢阅读,希望能帮助到大家,谢谢大家对本站 的支持!


# 微信小程序  # wx.uploadFile  # wx.uploadFile无法上传怎么办  # wx.uploadFile无法上传解决办法  # 微信小程序开发(二)图片上传+服务端接收详解  # 微信小程序实现上传图片功能  # 微信小程序上传图片功能(附后端代码)  # 微信小程序多张图片上传功能  # 微信小程序上传图片到服务器实例代码  # 微信小程序实现文件、图片上传功能  # 微信小程序实现图片上传、删除和预览功能的方法  # 微信小程序图片选择、上传到服务器、预览(PHP)实现实例  # 微信小程序中上传图片并进行压缩的实现代码  # 微信小程序实现上传视频功能  # 上传  # 的是  # 第三方  # 就可以  # 上传文件  # 是一个  # 我是  # 我也  # 抱着  # 用了  # 希望能  # 可以直接  # 谢谢大家  # 硬着头皮  # 表单  # 解压缩  # 解决办法  # 传了  # 多做  # 服务端 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  如何快速使用云服务器搭建个人网站?  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  使用豆包 AI 辅助进行简单网页 HTML 结构设计  如何在腾讯云服务器上快速搭建个人网站?  EditPlus中的正则表达式实战(5)  Laravel PHP版本要求一览_Laravel各版本环境要求对照  Laravel如何生成URL和重定向?(路由助手函数)  网站建设保证美观性,需要考虑的几点问题!  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  个人摄影网站制作流程,摄影爱好者都去什么网站?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  如何用5美元大硬盘VPS安全高效搭建个人网站?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  详解阿里云nginx服务器多站点的配置  如何在 React 中条件性地遍历数组并渲染元素  网站优化排名时,需要考虑哪些问题呢?  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  JavaScript如何实现路由_前端路由原理是什么  高端网站建设与定制开发一站式解决方案 中企动力  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  微信小程序 HTTPS报错整理常见问题及解决方案  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  linux top下的 minerd 木马清除方法  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  想要更高端的建设网站,这些原则一定要坚持!  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  长沙企业网站制作哪家好,长沙水业集团官方网站?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  网站制作壁纸教程视频,电脑壁纸网站?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  网站页面设计需要考虑到这些问题  如何确认建站备案号应放置的具体位置?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  香港服务器部署网站为何提示未备案?  进行网站优化必须要坚持的四大原则  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  JS碰撞运动实现方法详解  js实现获取鼠标当前的位置  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  如何用西部建站助手快速创建专业网站?