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

由于要给一个客户做一个记账WAP,里面有调用手机拍照功能,这里记录一下,以供需要的朋友,下面是完整的一个HTML页面内容,放在服务器上然后浏览就可以了,只支持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>

服务器端程序自己加,如果自己没有服务器也可以调用http://jwzhangjie.com/preview.html来做测试

 

下面是调用几个浏览器的测试效果:

 

Chrome浏览器效果:

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

 

QQ浏览器效果:

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

拍照效果:

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

更多相关文章
  • [Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties ...
  • WebSocket是定义服务器和客户端如何通过Web通信的一种网络协议.协议是通信的议定规则.组成互联网的协议组由IETF(互联网工程任务组)发布.IETF发布评议请求(Request for Comments,RFC),精确地规定了协议(包括RFC 6455):WebSocket协议.RFC 64 ...
  • 几年前跟随项目经理做的一个ERP小项目,自己业余时间整理的开发手册,供参考. 开发环境配置:编程环境为Microsoft Visual Studio 2010,数据库是SQL Server 2008 R2.设计架构Windows Forms+ .NET Remoting + SQL Server,所 ...
  • 收到Skype授权通知的邮件?小心已经成为间谍软件的攻击目标!全球服务器安全.虚拟化及云计算安全领导厂商趋势科技发现国外已经出现网络犯罪者假冒Skype官方通知电子邮件,该邮件诱骗用户尽快点击邮件中链接下载“官方授权凭证”,否则用户的Skype账号将会被删除.       当用户点击该网址后,系统将 ...
  • 还是畅通工程 Time Limit: 4/2 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 30793    Accepted Submission(s): 13822 Proble ...
一周排行
  • 昨天在转换拼音的时候发现个bug,有好多字都无法转换,不过也不能怪他,毕竟人家的库才8k,应该只有常用的.无奈上网找了下,发现一篇<最全的PHP汉字转拼音函数(共25961字,包含20902个基本汉字+5059 ...
  • iscsi 在fstab的挂在选项应该用_netdev,这是网上很多材料都没有注意到的地方. ldap + kerberos 应该使用groupinstall 'Directory Client' 其余的基本跟网上能 ...
  •   PHP-Barcode 0.3pl1 Remote Code Execution   The input passed to the code parameter is not sanitized and is ...
  • 使用MySQL进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的备份方法,而且又快有好. 一.数据备份捷径 因为这个方法没有得到官方正式文档 ...
  •               JQuery提供了很多多的插件,粗略一搜,发现还不能用很多来形容:                                   点了几个看了看,发现都相当精美,web开发需要的更多 ...
  • 她们都站在桥的某一边,要让她们在17分钟内全部通过这座桥.这时是晚上.她们只有一个手电筒.最多只能让两个人同时过桥.不管是谁过桥,不管是一个人还是两个人,必须要带着手电筒.手电筒必须要传来传去,不能扔过去.每个女人过 ...
  • hello,everybody,今天我们来学习线性表的最后两种形式,循环链表.双向链表.这两种链表,是链式存储结构的不同形式.书归正传,我们先来看看循环链表吧. 大家思考一个问题,我们把线性表各个元素比作下图的路线图 ...
  • 题意:有一个三维的地图,有n个人被困住,现在消防队员只能从1楼的一个入口进入,营救被困者,每一个被困者有一个价值,当消防队员找到一个被困者之后,他可以营救或者见死不救,如果救的话,他必须马上将其背到入口处,不得停下, ...
  • 科技改变生活!在科学技术一日千里的今天,让人眼花缭乱的新技术以及不断拓宽的消费渠道,除了让人类的生活变得更便利,却也延伸出一个个新的消费陷阱.频繁面世的新科技产品.充满生涩的专业词汇,热闹喧嚣的"口水战&q ...