最近用MUI框架做webapp項目,在有PLUS環境的基礎上能直接調用手機底層的API來使用拍照或從相冊選擇上傳功能!
在查資料的時候,想起了另一種用input調用攝像和相冊功能的方法,之前沒有深入了解過,現在整理一下:
不需要特殊環境,使用input標簽 type值為file,可以調用系統默認的照相機、相冊、攝像機、錄音功能。先上代碼:
<input type="file" accept="image/*" capture="camera">
<input type="file" accept="video/*" capture="camcorder">
<input type="file" accept="audio/*" capture="microphone">
accept表示打開的系統文件目錄
capture表示的是系統所捕獲的默認設備,camera:照相機;camcorder:攝像機;microphone:錄音;
其中還有一個屬性multiple,支持多選,當支持多選時,multiple優先級高於capture,所以只用寫成:<input type="file" accept="image/*" multiple>就可以,可以在手機上測試一下。那么選中的圖片怎樣獲取並顯示呢?
html:(css)
<form id="form1" runat="server">
<input type='file' id="imgInp" />
<div>
<img id="blah" src="#" alt="顯示您上傳的商品圖片" />
</div>
</form>
js:
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#imgInp").change(function(){
readURL(this);
});
樣式自己調整,這樣就能顯示剛拍下的照片或者從相冊中選中的圖片了。