微信小程序安卓机使用uploadfile提示undefined错误原因

前几天开发小程序,在使用微信的uploadfile接口上传图片时,调试工具以及ios的手机无论是拍照,还是选择手机中的图片都可以正常上传图片,而安卓手机在上传图片时,微信总是返回error,且错误提示是undefined(微信返回,数据还没有上传到服务器)

于是网上找资料,找前辈问,未果,总是时好时坏也找不到原因后来,偶然发现,同时上传的字段,如果填写数字,则可以成功提交,如果填写中文则会报错.

于是想到,是不是编码问题,抱着试一试的心态,让前端在上传数据之前加个encodeURI,然后我解析的时候用PHP的urldecode一下居然就这样解决了,具体为啥,ios系统跟小程序调试工具没问题,也有待发现,反正肯定是对数据编码方式不同.

时间: 2024-10-14 16:05:33

微信小程序安卓机使用uploadfile提示undefined错误原因的相关文章

原创:跳坑指南——微信小程序真机预览跟本地不同的问题

微信小程序中出现最多的一个问题,就是真机跟本地不同:我简单列举一些我发现的原因,给大家参考,大家也可以把自己发现的东西回复给我,给我参考: 本地看不到数据,就先让本地能看到数据,再看本帖.... 1:本地可以看到数据,ios不行,安卓可以:可能是tsl版本问题不支持1.2导致,部分安卓可以允许tsl低于1.2而正常显示,而苹果不行: 解决方法:参考此帖排查问题并修复:request:fail错误(含https解决方案)(真机预览问题 可能是证书不受信任 2:本地可以看到数据,ios可以,安卓不行

微信小程序发布新版本时自动提示用户更新

如图,当小程序发布新的版本后,用户如果之前访问过该小程序,通过已打开的小程序进入(未手动删除),则会弹出这个提示,提醒用户更新新的版本.用户点击确定就可以自动重启更新,点击取消则关闭弹窗,不再更新. 官方给的示例代码: const updateManager = wx.getUpdateManager() updateManager.onCheckForUpdate(function (res) { // 请求完新版本信息的回调 console.log(res.hasUpdate) }) upd

微信小程序真机定位问题技巧

小程序导航 https://wq.xmaht.top 开发者在开发小程序的时候可能会碰到一些这样的问题: 问题1  开发者工具上看效果没问题,但是在真机上测试不行? 问题2  有用户遇到小程序功能无法使用的问题,但无法快速定位解决? 今天与大家分享一些真机定位的技巧,可以解决上面两个问题. 1.vConsole开发利器和远程调试功能 针对问题1,我们提供了 vConsole 开发利器和远程调试功能,可以协助开发者在定位真机上的问题. vConsole 的有四个Tab面板,可以先看下 Log 面板

微信小程序版本自动更新弹窗提示

代码如下: onLaunch () { if (wx.canIUse('getUpdateManager')) { const updateManager = wx.getUpdateManager() updateManager.onCheckForUpdate(function (res) { if (res.hasUpdate) { updateManager.onUpdateReady(function () { wx.showModal({ title: '更新提示', content

微信小程序-bug-调用wx.login()无响应的原因和解决方案

想必,最近有些小程序开发者,在调用wx.login()的时候,在部分IOS上无响应的情况: 补充一点:在测试模式,调试模式,都是OK的,一上正式环境就GG了,百思不得其解啊! 响应结果如下: 在success \ fail的回调函数里面均未触发: 设置timeout后,在complate回调中可触发: 分析结果,我们知道,login接口一直处于pending状态,如果加了timeout时间后,在complate回调中可触发: 那为什么login方法一直是pending呢???? 看了微信的社区,

微信小程序真机调试中一些小问题

今天用mpvue在写微信登录业务处理的时候,遇到了一个奇怪的问题. 想记录一下,以免未来再次踩坑. 环境是这样的,我后台是自己搭建的基于wafer2-node-sdk的业务处理API,使用微信开发者工具调试测试用户登录是没有问题的. 界面如下. 后台通过凭证发送给微信服务器获取到了userInfo. 但是到了真机调试, 就一直是在正在请求中. 而在真机运行中是没有自动清除缓存的机制的,所以如果出现莫名其妙的bug,所以,可以考虑是否是缓存带来的问题. 所以在登陆界面设置一个按钮,触发事件使用ap

微信小程序安卓固定弹窗中textarea的placeholder会被弹出去

在项目中碰到一个问题,就是安卓机上,如果fix固定一个弹窗,这个弹窗中有textarea的话, 点击弹出弹窗,textarea获得焦点的时候,placeholder和value会被弹出到背景上.如图: 弹窗wxml代码: 1 <view class="common-modal" wx:if="{{!actionSheetHidden}}"> 2 <view class="app_container "> 3 4 <v

微信小程序常用的3种提示弹窗

1. 表示操作成功,文字上方会显示一个表示操作成功的图标. wx.showToast({ title: '操作成功!', // 标题 icon: 'success', // 图标类型,默认success duration: 1500 // 提示窗停留时间,默认1500ms }) 2.表示加载中,显示为加载中图标. wx.showToast({ title: '加载中...', icon: 'loading', duration: 1500 }) 3.不显示图标,一般用作提示. wx.showTo

微信小程序开发者工具构建npm提示没找到node_modules目录

一.官网给的文档写的不够充分,需要你充分理解npm的使用方法,才能明白的: 二.第一步:先在你电脑上安装npm 参考下面文章 https://www.cnblogs.com/zmdComeOn/p/11543441.html 三.第二步: 1.第一步:打开终端 cd 到项目目录下 输入如下命令: npm init 如下图所示 输入命令后一直点回车,如下图: 2.第二步:输入如下命令 npm install --production 3.第三步:输入如下命令 npm i vant-weapp -S