1. 程式人生 > >Web調用安卓,蘋果手機攝像頭,本地圖片和文件

Web調用安卓,蘋果手機攝像頭,本地圖片和文件

urn 效果 eas tel head.s ng- one true art

因為要給一個客戶做一個記賬WAP,裏面有調用手機拍照功能。這裏記錄一下。以供須要的朋友。以下是完整的一個HTML頁面內容,放在server上然後瀏覽就能夠了,僅僅支持Chrome和Safari核的瀏覽器。我測試過QQ瀏覽器,Chrome,Safari瀏覽器都能夠。在不同的手機和瀏覽器上面展現的方式不一樣。

<!DOCTYPE HTML>
<html>
<head>
	<title>上傳圖片</title>
	<meta charset="utf-8">
</head>
<body>
	<iframe name="uploadfrm" id="uploadfrm" style="display: none;"></iframe>
	<form name="formHead" method="post" action="" id="formHead" enctype="multipart/form-data" target="uploadfrm">

		<div>
		    <div>
		        <input type="file" name="file_head" id="file_head" onchange="javascript:setImagePreview();" />
		    </div>
		    <div>
		        <div id="DivUp" style="display: none">
		            <input type="submit" data-inline="true" id="BtnUp" value="確認上傳" data-mini="true" />
		        </div>
		    </div>
		</div>
	</form>
	<div data-role="fieldcontain">
	    <div id="localImag">
	        <img id="preview" width="-1" height="-1" style="display: none" />
	    </div>
	</div>
        

    <script type="text/javascript">
		function setImagePreview() {
			var preview, img_txt, localImag, file_head = document.getElementById("file_head"),
			picture = file_head.value;
			if (!picture.match(/.jpg|.gif|.png|.bmp/i)) return alert("您上傳的圖片格式不對,請又一次選擇!"),
			!1;
			if (preview = document.getElementById("preview"), file_head.files && file_head.files[0]) preview.style.display = "block",
				preview.style.width = "63px",
				preview.style.height = "63px",
				preview.src = window.navigator.userAgent.indexOf("Chrome") >= 1 || window.navigator.userAgent.indexOf("Safari") >= 1 ? window.webkitURL.createObjectURL(file_head.files[0]) : window.URL.createObjectURL(file_head.files[0]);
			else {
				file_head.select(),
				file_head.blur(),
				img_txt = document.selection.createRange().text,
				localImag = document.getElementById("localImag"),
				localImag.style.width = "63px",
				localImag.style.height = "63px";
				try {
					localImag.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)",
					localImag.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = img_txt
				} catch(f) {
					return alert("您上傳的圖片格式不對,請又一次選擇!"),
					!1
				}
				preview.style.display = "none",
				document.selection.empty()
			}
			return document.getElementById("DivUp").style.display = "block",
			!0
		}
    </script>
</body>
</html>

server端程序自己加,假設自己沒有server也能夠調用http://jwzhangjie.com/preview.html來做測試

以下是調用幾個瀏覽器的測試效果:

Chrome瀏覽器效果:

技術分享

QQ瀏覽器效果:

技術分享

拍照效果:

技術分享


Web調用安卓,蘋果手機攝像頭,本地圖片和文件