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浏览器效果:

QQ浏览器效果:

拍照效果:

时间: 2024-12-30 02:32:42

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

Android 调用系统分享文字、图片、文件,可直达微信、朋友圈、QQ、QQ空间、微博

原文:Android 调用系统分享文字.图片.文件,可直达微信.朋友圈.QQ.QQ空间.微博 兼容SDK 18以上的系统,直接调用系统分享功能,分享文本.图片.文件到第三方APP,如:微信.QQ.微博等 因为偷懒,可直达微信.朋友圈.QQ.QQ空间.微博的分享仅写了图片分享的,其他的文本.文件分享不常用到,就不写了. 具体图片分享区分单张图片分享和多张图片分享,详情请看代码: import android.content.ComponentName; import android.content

安卓上传本地图片闪退

1.现象 当我们在app上上传一些安卓的本地图片时,有时当上传某些图片时会莫名其妙的闪退,而检查时发现并没有oom异常.同样上传一些类似的图片却可以正常使用. 1.1 开启选择本地图片 Intent intent = new Intent(Intent.ACTION_PICK, null); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*"); startActivityForRes

h5实现本地图片或文件的上传

首先放一个今天学到的小demo: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>测试</title> <style> * { margin: 0; padding: 0; } .myImg { width: 200px; } #imgs { width: 500px; height: 500

动态添加拍照图片、本地图片以及文件

package com.example.filebrowser.activity; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.net.URI; import java.util.ArrayList; import android.net.Uri; import android.os.Bundle; import android.pro

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签

编辑美化图片,保存至本地,Adobe出品(支持IOS,android,web调用)免费插件

本例以web调用做为例子,本插件支持主流浏览器,IE要9以上,移动设备,触屏设备也支持,能自适应屏幕大小. 使用效果: 工具还是很丰富的,编辑完成之后,可以保存图片至本地目录. 使用说明: 1,需要在线注册账号,申请apikey,地址:https://creativesdk.adobe.com/docs/web,这个apikey在代码调用时需要.这里也有详细的api文档,其他功能请参考文档说明,不过文档是英文的. 2,要编辑的图片必须有固定的地址,可以被网络访问到. 示例源代码,以web调用为例

将摄像头拍摄图像或者本地图片设置为头像的方法

一:效果图 效果描述:点击相框,将手机摄像头拍摄的图片或者本地图片设置为我们定义的头像 功能控件:UIImageView , UIAlertController , UITapGestureRecognizer , UIImagePickerController 首次运行的时候会提醒是否允许程序访问手机相册,点击ok     二:工程图 三:代码区 AppDelegate.h #import <UIKit/UIKit.h> @interface AppDelegate : UIResponde

AnyChat for Web SDK支持设置本地图片为界面背景

从AnyChat r4092版本开始,AnyChat for Web SDK支持设置本地图片为界面背景.<IGNORE_JS_OP style="WORD-WRAP: break-word"> 如果需要改变默认的“AnyChat”背景,则可以通过API接口:SetBkImage来设置,参考:http://bbs.anychat.cn/forum.php? ... =172&extra=page%3D2 早期的版本只支持网络路径(如:http://www.anycha

Android 实例讲解添加本地图片和调用系统拍照图片

在项目的开发过程我们离不开图片,而有时候需要调用本地的图片,有时候需要调用拍照图片.同时实现拍照的方法有两种,一种是调用系统拍照功能,另一种是自定义拍照功能.而本博文目前只讲解第一种方法,第二种方法后期在加以讲解. 添加本地图片和调用系统拍照图片主要是通过调用acitivity跳转startActivityForResult(Intent intent, int requestCode)方法和activity返回结果onActivityResult(int requestCode, int re