Skip to content
This repository has been archived by the owner on Aug 22, 2022. It is now read-only.

应用于移动端注意事项 #185

Open
2betop opened this issue May 21, 2014 · 109 comments
Open

应用于移动端注意事项 #185

2betop opened this issue May 21, 2014 · 109 comments

Comments

@2betop
Copy link
Contributor

2betop commented May 21, 2014

webuploader 是满足 ios 6+, android 4+ 的。

目前移动端有几个重要的 bug 在此列出来以免大家踩坑。

  1. 上传请求内容为空,这是 android 4 的一个bug,只要 file 的 blob数据修改过,通过 xhr2 去发送就有这个问题。 详情:https://code.google.com/p/android/issues/detail?id=39882

    解决方案: 发送的时候采用二进制方案,即 把 sendAsBinary 设置成true, 通过这种方式可以避免这个问题。后端接受需要小改动一下。

  2. jpeg 压缩后体积反而变大了,这是 android 的另外一个 bug, canvas.toDataUrl 不支持 jpeg编码,实际上采用的 png 编码。详情: https://code.google.com/p/android/issues/detail?id=39885

    解决方案:引入了一个 jpeg js压缩库,在不支持的的情况下采用此库。但是此库默认没有打包进来,需要自行配置打包方案,将 runtime/html5/androidpatch.js 打包进来。

@2betop
Copy link
Contributor Author

2betop commented May 21, 2014

IOS6/7 还有个渲染图片部分内容变黑问题,不过已经自带修复了此问题,用户无需关心。

无图模式浏览器压缩图片异常问题,也能检测出来,如果出现此问题自动改成不压缩上传方式。

@tangjun2012
Copy link

安卓webView使用webuploader的时候,上传多张图片,threads为1,当触发上传的时候,只能上传一张图片,之后uploader.getStats().queueNum的值就变为0了@2betop

@wakalisss
Copy link

sendAsBinary 设置为true后 后端没法收啊

@2betop
Copy link
Contributor Author

2betop commented Aug 22, 2014

怎么没法收?整个 request 的内容都是文件体。

@wakalisss
Copy link

没请求收文件的url啊

@2betop
Copy link
Contributor Author

2betop commented Aug 22, 2014

sendAsBinary 后,文件信息参数被附带到 url 中了,这个是否影响到你的request mapping ?

@wakalisss
Copy link

就是network里根本没请求url,只有blob什么的,uploader()后也没触发uploadProgress Success事件,文件就一直是等待上传了。

@tangjun2012
Copy link

不好意思,之前问题没有描述好,用安卓4.*以上的手机,不能批量上传,只能上传一张图片。这个问题麻烦帮看一下呢

@wakalisss
Copy link

是asp.net webform有关的bug,mvc下没事儿

@FE-CCY
Copy link

FE-CCY commented Sep 2, 2014

@2betop android 4 上传请求内容为空这个bug目前只有二进制流上传解决方案么?我们用的是upyun的图片服务,不支持这种传输方式~ 是不是必须得自己写中转服务了?

@liubo20035309
Copy link

@2betop 我们基于微信开发的,android,苹果上传啥的,本来是没有问题的。只是在用android原生的系统调用时,有上传图片后就刷新,导致最终上传失败的问题。现在微信升级之后,基本上android手机都成了目前这个样子,根本上传不了图片了。点击选中完图片后,界面就开始刷新了。这个是android系统本身的bug?有没有什么解决的方案。

@2betop
Copy link
Contributor Author

2betop commented Sep 3, 2014

@daixl
Copy link

daixl commented Sep 3, 2014

@liubo20035309 android 手机默认的浏览器用二进制方式可以上传的,我们的项目实现了!

@daixl
Copy link

daixl commented Sep 3, 2014

有谁能告诉我这个帖子有回复是为什么会发邮件给我邮箱的?

@tangjun2012
Copy link

@daixl android 4.4+ 系统 你们可以一次并发上传多张吗

@liubo20035309
Copy link

能上传也是根据浏览器来的,原生的浏览器一上传就刷新。

@liubo20035309
Copy link

基本不能用。

@daixl
Copy link

daixl commented Sep 3, 2014

@tangjun2012 这个就木有试过了,等我有时间试过再来回答你吧!

@tangjun2012
Copy link

@daixl 哦 我之前实验的时候 可以选择多张图片到等待列队 但是上传第一张以后 等待列队就被清空了

@zboyco
Copy link

zboyco commented Nov 17, 2014

你好,我把sendAsBinary 设置成true,用PC依然正常,后台能获取到Request.InputStream,但是用移动端的时候,获取不到,请问是什么原因呢?

@2betop
Copy link
Contributor Author

2betop commented Nov 17, 2014

忘记引入 android patch 的文件了,注意一下打包方案。用 custom 的版本吧。

@AndrewZheng
Copy link

目前没有好的解决方案,等FEX开发团队成员提供相关解决方案吧。

@chengjianhua
Copy link

@AndrewZheng 这个插件很久没有新版本了,期待吧

@xutianlong
Copy link

手机端没有开启拍照权限,就调用不起来了。

@cisool
Copy link

cisool commented May 16, 2016

ios 下上传视频没效果呢。。安卓下正常。
请问有遇见同样问题的朋友吗?

@xxxsf
Copy link

xxxsf commented May 20, 2016

安卓手机能一次选择多图片上传吗?

@hasbug
Copy link

hasbug commented May 20, 2016

此插件好久没更新了 好像。。。
看到很多朋友都遇到不少目前此插件无法解决的问题。
在这里给各位朋友推荐一个好用的吧,不过注意版权问题
plupload pc端手机端都好使,成熟。API简单。

@SeanLee97
Copy link

@hasbug 你好为什么手机微信内置浏览器plupload失效呢?就是选择不了图片

@hasbug
Copy link

hasbug commented Jun 19, 2016

@MitreeLee 安卓?系统版本多少?我在项目中(微信项目)最低只测过4.2,支持html5应该就OK的。若不支持,官方还有其他方案。会不会手机上没有真正点击触发到选择文件的元素?排除法,刨除这个插件,自己写个方法,看看能不能触发到,或者检查下样式的问题,查看元素是否位于点击处的最上层。

@SeanLee97
Copy link

@hasbug anriod 5.0,我在PC端测试成功了,可是一到微信的内置浏览器就出错了,我再看看吧

@airujingye
Copy link

苹果4s手机上点击无反应,该怎么配置呢(目前使用安卓机是没有问题的)

@ysj40540
Copy link

android 自己new 的 webview 点击没响应。不弹出选择文件

@crazyair
Copy link

@2betop 我的不管电脑 苹果 都会有问题,我是把生成的base64附到请求里面,但是有的图片没问题,有的有问题!

@l493885262
Copy link

为什么我引用zepto不行 只有引用jquery才可以?

@haiyume
Copy link

haiyume commented Nov 4, 2016

请问用babel es2015转义后语法报错,提示严格模式下禁用arguments,callee等,如何解决呢?

@jacksky007
Copy link

@haiyume 在你的babel选项里添加

sourceType: 'script'

参见babylon

@hemisi
Copy link

hemisi commented Dec 9, 2016

ios iphone5s和iphone6s点击出现了选取图片的界面,但是选取图片之后并没有开始自动上传,一般是哪里问题呢?

@dusuting
Copy link

dusuting commented Mar 3, 2017

为什么是用zepto的时候回报错 ‘Base.Deferred is not a function‘???

@azumia
Copy link

azumia commented May 3, 2017

@jacksky007 具体怎么解决的?

@jacksky007
Copy link

@azumia 就如前面的描述,在.babelrc中配置sourceType为'script'

@abenhu
Copy link

abenhu commented Jun 9, 2017

你好,请教个问题,我在微信公众号的web页面上传文件,安卓版上传图片,视频、文档都正常,IOS版上传图片没问题,上传视频不行,进度卡住不动,过一会就提示上传失败,nginx返回408错误。但是在IOS自带的浏览器里上传视频就是好的,请问这是怎么回事?

@justdmm
Copy link

justdmm commented Aug 8, 2017

@abenhu 我也遇到这种现象(虽然不是引用的这个项目),只有ios版微信内部网页上传视频会失败,显示是FileReader报错,但不晓得具体原因。

-- 更新 --
后来终于发现原因是不支持multiple参数,只能一个个上传

@jjsimida
Copy link

你好,iOS10.3一下有一个问题,就是图片来源如何把相册和icould给拿掉,只单一的调相机功能,改了,发现,10.3以下还是会出现相册,不知道怎么解决?又遇到的吗?或者版主解答一下,谢谢🙏

@star2012
Copy link

star2012 commented Nov 8, 2017

@jjsimida 请问下,你是怎么禁掉相册选择,只留下相机调用功能的?

@xuyangsup
Copy link

为什么在安卓手机图片下不能选中图片啊啊(图片全是灰色的,不可选中状态。ios没一点问题,万恶的安卓啊)

@Chenwenfa
Copy link

为什么在手机uc浏览器拍几张照片后上传刷新会变成最新的一张?

@mildRain
Copy link

@hasbug anriod 5.0,我在PC端测试成功了,可是一到微信的内置浏览器就出错了,我再看看吧

解决了吗

@mildRain
Copy link

不兼容安卓吧,用官方的demo都无法选择文件

@MonsterJJ
Copy link

请问下 在微信内置浏览器上,点击上传图片的时候 显示 “没有应用可执行此操作” 是什么原因

微信截图_20190618102042

@wilsonchen85
Copy link

webuploader0.1.5在微信端安卓手机无法调取相机,安卓版本9,请问如何解决?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests