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

简介:

由于要给一个客户做一个记账WAP,里面有调用手机拍照功能,这里记录一下,以供需要的朋友,下面是完整的一个HTML页面内容,放在服务器上然后浏览就可以了,只支持Chrome和Safari核的浏览器,我测试过QQ浏览器,Chrome,Safari浏览器都可以。在不同的手机和浏览器上面展现的方式不一样。


[html] view plaincopy在CODE上查看代码片派生到我的代码片

  1. <!DOCTYPE HTML>  

  2. <html>  

  3. <head>  

  4.     <title>上传图片</title>  

  5.     <meta charset="utf-8">  

  6. </head>  

  7. <body>  

  8.     <iframe name="uploadfrm" id="uploadfrm" style="display: none;"></iframe>  

  9.     <form name="formHead" method="post" action="" id="formHead" enctype="multipart/form-data" target="uploadfrm">  

  10.   

  11.         <div>  

  12.             <div>  

  13.                 <input type="file" name="file_head" id="file_head" onchange="javascript:setImagePreview();" />  

  14.             </div>  

  15.             <div>  

  16.                 <div id="DivUp" style="display: none">  

  17.                     <input type="submit" data-inline="true" id="BtnUp" value="确认上传" data-mini="true" />  

  18.                 </div>  

  19.             </div>  

  20.         </div>  

  21.     </form>  

  22.     <div data-role="fieldcontain">  

  23.         <div id="localImag">  

  24.             <img id="preview" width="-1" height="-1" style="display: none" />  

  25.         </div>  

  26.     </div>  

  27.           

  28.   

  29.     <script type="text/javascript">  

  30.         function setImagePreview() {  

  31.             var preview, img_txt, localImag, file_head = document.getElementById("file_head"),  

  32.             picture = file_head.value;  

  33.             if (!picture.match(/.jpg|.gif|.png|.bmp/i)) return alert("您上传的图片格式不正确,请重新选择!"),  

  34.             !1;  

  35.             if (preview = document.getElementById("preview"), file_head.files && file_head.files[0]) preview.style.display = "block",  

  36.                 preview.style.width = "63px",  

  37.                 preview.style.height = "63px",  

  38.                 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]);  

  39.             else {  

  40.                 file_head.select(),  

  41.                 file_head.blur(),  

  42.                 img_txt = document.selection.createRange().text,  

  43.                 localImag = document.getElementById("localImag"),  

  44.                 localImag.style.width = "63px",  

  45.                 localImag.style.height = "63px";  

  46.                 try {  

  47.                     localImag.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)",  

  48.                     localImag.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = img_txt  

  49.                 } catch(f) {  

  50.                     return alert("您上传的图片格式不正确,请重新选择!"),  

  51.                     !1  

  52.                 }  

  53.                 preview.style.display = "none",  

  54.                 document.selection.empty()  

  55.             }  

  56.             return document.getElementById("DivUp").style.display = "block",  

  57.             !0  

  58.         }  

  59.     </script>  

  60. </body>  

  61. </html>  


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


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

Chrome浏览器效果:


QQ浏览器效果:


拍照效果:













本文转自ljianbing51CTO博客,原文链接:http://blog.51cto.com/ljianbing/1607033 ,如需转载请自行联系原作者



相关文章
|
2月前
|
人工智能 算法 前端开发
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
OmAgent 是 Om AI 与浙江大学联合开源的多模态语言代理框架,支持多设备连接、高效模型集成,助力开发者快速构建复杂的多模态代理应用。
307 72
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
|
4月前
|
Android开发 数据安全/隐私保护 虚拟化
安卓手机远程连接登录Windows服务器教程
安卓手机远程连接登录Windows服务器教程
680 4
|
5月前
|
Ubuntu Linux Android开发
termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
本文介绍了如何在Android设备上安装Termux和AnLinux,并通过这些工具运行Ubuntu系统和桌面环境。
613 2
termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
|
4月前
|
安全 搜索推荐 Android开发
Android vs. iOS:解锁智能手机操作系统的奥秘####
【10月更文挑战第21天】 在当今这个数字化时代,智能手机已成为我们生活中不可或缺的伙伴。本文旨在深入浅出地探讨两大主流操作系统——Android与iOS的核心差异、优势及未来趋势,帮助读者更好地理解这两个平台背后的技术哲学和用户体验设计。通过对比分析,揭示它们如何塑造了我们的数字生活方式,并展望未来可能的发展路径。无论您是技术爱好者还是普通用户,这篇文章都将带您走进一个充满创新与可能性的移动世界。 ####
172 3
|
6月前
|
存储 缓存 编解码
Android经典面试题之图片Bitmap怎么做优化
本文介绍了图片相关的内存优化方法,包括分辨率适配、图片压缩与缓存。文中详细讲解了如何根据不同分辨率放置图片资源,避免图片拉伸变形;并通过示例代码展示了使用`BitmapFactory.Options`进行图片压缩的具体步骤。此外,还介绍了Glide等第三方库如何利用LRU算法实现高效图片缓存。
103 20
Android经典面试题之图片Bitmap怎么做优化
|
5月前
|
Web App开发 Android开发
利用firefox调试安卓手机端web
该教程详细介绍如何通过Firefox浏览器实现手机与电脑的远程调试。手机端需安装最新版Firefox,并按指定步骤设置完成;电脑端则需安装15版及以上Firefox。设置完成后,通过工具栏中的“远程调试”选项,输入手机IP地址即可连接。连接确认后,即可使用电脑端Firefox调试器调试手机上的Web信息。注意,调试前手机需提前打开目标网页。
197 2
|
5月前
|
Android开发 iOS开发 UED
安卓与iOS的较量:谁才是智能手机市场的王者?
本文将深入探讨安卓和iOS两大智能手机操作系统之间的竞争关系,分析它们各自的优势和劣势。通过对比两者在市场份额、用户体验、应用生态等方面的表现,我们将揭示出谁才是真正的市场领导者。无论你是安卓粉丝还是iOS忠实用户,这篇文章都将为你提供一些有趣的观点和见解。
|
5月前
|
存储 物联网 计算机视觉
|
7月前
|
数据处理 开发工具 数据安全/隐私保护
Android平台RTMP推送|轻量级RTSP服务|GB28181接入之文字、png图片水印的精进之路
本文探讨了Android平台上推流模块中添加文字与PNG水印的技术演进。自2015年起,为了满足应急指挥及安防领域的需求,逐步发展出三代水印技术:第一代为静态文字与图像水印;第二代实现了动态更新水印内容的能力,例如实时位置与时间信息;至第三代,则优化了数据传输效率,直接使用Bitmap对象传递水印数据至JNI层,减少了内存拷贝次数。这些迭代不仅提升了用户体验和技术效率,也体现了开发者追求极致与不断创新的精神。
|
7月前
|
自然语言处理 定位技术 API
Android经典实战之如何获取图片的经纬度以及如何根据经纬度获取对应的地点名称
本文介绍如何在Android中从图片提取地理位置信息并转换为地址。首先利用`ExifInterface`获取图片内的经纬度,然后通过`Geocoder`将经纬度转为地址。注意操作需在子线程进行且考虑多语言支持。
394 4

热门文章

最新文章