最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【D1n910】安卓端微信/支付寶移動端input上傳圖片回顯禿頭

2019-08-02 09:43 作者:愛交作業(yè)的D1N910  | 我要投稿


正常操作,正常分析,大家好,我是D1n910。

在公司工作是真格愉快,本來我們是做的2b業(yè)務(想要知道詳細內(nèi)容,請自行訪問我司的官網(wǎng)http://lecloudpay.com),現(xiàn)在我們做的是2c業(yè)務(想要知道詳細內(nèi)容,請自行訪問我司的產(chǎn)品官網(wǎng)https://photonpay.com/)。

做2c業(yè)務最頭疼的是什么問題,就是兼容性問題。

本篇主要針對移動端上傳圖片時,在安卓微信端/支付寶端遇到的問題,以及解決的辦法,進行闡述。

這里首先要夸夸我們的測試同學,沒有他,不可能發(fā)現(xiàn)這些問題,且也不可能做出對應手法。

公司的產(chǎn)品同學非常考慮用戶的需求,會針對一些用戶的痛點進行一些騷操作。上傳一些圖片時,考慮到電腦端上傳不太方便,因為大部分人的照片都是放置在手機上的。所以就推出了掃一掃二維碼,手機上傳圖片的功能。

邏輯是:手機掃一掃??上傳成功??手機端/電腦端,雙端回顯圖片

Up主使用的設備是

PC:MacBook Pro (Retina, 13-inch, Early 2015)?

PC瀏覽器:Chrome?版本 75.0.3770.142(正式版本) (64 位)

手機端:iPhone XR

手機端瀏覽器:Chrome 版本?75.0.337.0.103 【IOS

手機端微信版本:Version 7.0.5 【IOS

實測一點問題都沒有——然鵝只是我自己用的設備如此。

第一回合 微信 input 上傳圖片控件 不能喚起任何操作 不能喚起照相機 不能喚起相冊

提交測試以后測試就提Bug了——?oppo r11s?安卓端 微信 打開網(wǎng)頁后,點擊input上傳圖片控件,提示不能喚起任何操作。然鵝同臺手機支付寶可以喚起相機、喚起相冊——反正啥都可以。

通過查詢相關(guān)資料,發(fā)現(xiàn)是因為input的accept的“問題”

accept是input的一個屬性,可以用來限制可以上傳的文件后綴。之前這套組件用在PC端的時候,通過書寫其中的內(nèi)容可以直接限制只能上傳對應的圖片文件內(nèi)容。

在安卓微信上,因為有這樣的限制,所以就不能夠喚起——那為什么安卓支付寶可以喚起?為什么蘋果微信可以喚起?別問俺,俺也想知道。

解決辦法

* 如果你只想針對微信做出處理,可以通過?window.navigator.userAgent?判斷

1、如果你只想喚起【文件夾】

accept="" //即置空accept

2、如果你想喚起相機/文件夾

accept="image/*"

——至于對文件的限制處理,可以放到獲取文件后進行判斷

——因為accept="image/*"在各種移動端上的app內(nèi)置瀏覽器上表現(xiàn)良好,所以移動端統(tǒng)一用accept="image/*"了

第二回合?安卓支付寶(UC瀏覽器)圖片createObjectURL回顯失敗

createObjectURL()可以創(chuàng)建一個指向file或者blob的地址,通過調(diào)用此地址即可調(diào)用到對應資源。

這樣的話,上傳圖片成功后,沒有必要再次下載圖片,而是回顯本地圖片即可。

我的用法是醬嬸的——

??????????let url = null

??????????if (window.createObjectURL !== undefined) {

????????????url = window.createObjectURL(file)

??????????} else if (window.URL !== undefined) {

????????????url = window.URL.createObjectURL(file)

??????????} else if (window.webkitURL !== undefined) {

????????????url = window.webkitURL.createObjectURL(file)

??????????}

然鵝,安卓端支付寶上本地圖片回顯失敗,顯示圖片裂了,下拉一看,是UC瀏覽器支持的支付寶內(nèi)置能力。通過打印地址,我發(fā)現(xiàn)url是創(chuàng)建成功了,可是就是沒有能夠成功顯示出來。

——那為什么安卓微信可以回顯?為什么蘋果支付寶可以回顯?別問俺,俺也想知道。

于是用回base64回顯辦法

????????const reader = new FileReader()

????????reader.readAsDataURL(file)

????????reader.onload = (e) => {

? ? ? ? ? //?e.target.result 文件的base64

????????}


本文完

【D1n910】安卓端微信/支付寶移動端input上傳圖片回顯禿頭的評論 (共 條)

分享到微博請遵守國家法律
闽清县| 台前县| 宜城市| 卢湾区| 浮梁县| 田阳县| 德保县| 马龙县| 通城县| 江北区| 兴仁县| 铜山县| 东山县| 武冈市| 皋兰县| 同仁县| 芜湖县| 天峨县| 木兰县| 房山区| 焦作市| 三明市| 深圳市| 长武县| 金门县| 井陉县| 延川县| 扎兰屯市| 龙泉市| 旬阳县| 石楼县| 班戈县| 宿松县| 沙洋县| 龙海市| 集安市| 上蔡县| 台前县| 隆回县| 同心县| 古田县|