• Web调用安卓,苹果手机摄像头,本地图片和文件


    因为要给一个客户做一个记账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浏览器效果:


    拍照效果:



  • 相关阅读:
    websocket初体验(能传文字和图片)
    展开折叠效果 height未知 transition无效
    微信小程序自定义键盘
    微信小程序 selectComponent 值为null
    css 斜线 animation
    【转】怎样在ubuntu12.04下创建一个启动器
    以ontouch为例说明android事件发送机制
    谈谈移动应用设计——从一个普通开发者的角度
    Launch error: Failed to connect to remote VM. Connection refused.的解决办法
    Beyond compare代码比较工具。
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7255733.html
Copyright © 2020-2023  润新知