初始代碼是這樣寫的,然后 ios相機、相冊都沒問題,安卓的只能選擇相冊, 代碼如下:
<template>
<div>
<input
id="upload_file"
type="file"
class="file-input"
accept="image/png,image/jpeg,image/jpg"
:multiple="multiple"
@change="inputChange"
style="display: none"
/>
</div>
</template>
?
然后就是一頓在網上借鑒大佬們的思路(*^_^*),發現有人說在input上加 capture='camera',只允許拍照上傳?但還是試一下把,試一下又不會懷孕, 代碼如下:
<template>
<div>
<input
id="upload_file"
type="file"
capture='camera'
class="file-input"
accept="image/png,image/jpeg,image/jpg"
:multiple="multiple"
@change="inputChange"
style="display: none"
/>
</div>
</template>
相機倒是調出來了但是 ios和安卓就只能呼叫相機,都不能呼叫相冊......
然后看看把,繼續借鑒了一波大佬們的操作,判斷是ios就洗掉 capture屬性,這樣就好了?那安卓怎么辦?唉..還是試一試把,可能就好了呢, 代碼如下:
<template>
<div>
<input
id="upload_file"
type="file"
capture='camera'
class="file-input"
accept="image/png,image/jpeg,image/jpg"
:multiple="multiple"
@change="inputChange"
style="display: none"
/>
</div>
</template>
<script>
//獲取瀏覽器的userAgent,并轉化為小寫
var ua = navigator.userAgent.toLowerCase();
//判斷是否是蘋果手機,是則是true
var isIos = (ua.indexOf('iphone') != -1) || (ua.indexOf('ipad') != -1);
if (isIos) {
document.querySelector('.file-input').removeAttribute("capture");
};
</script>
果不其然 ios 可以了,安卓還是完蛋,還是只能掉相冊,不能調相機
最終解決, 苦思冥想(連懵帶猜): accept="image/*" 和搞來搞去的 capture='camera' 沒什么卵關系,這個屬性只允許相機拍照上傳,代碼如下:
<template>
<div>
<input
id="upload_file"
type="file"
class="file-input"
accept="image/*"
:multiple="multiple"
@change="inputChange"
style="display: none"
/>
</div>
</template>
<script>
...//這里的判斷代碼,請無情洗掉
</script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/291897.html
標籤:其他
上一篇:Android模糊搜索框實作
下一篇:Android 顯示重繪頻率
