js引用:shutter.mp3 、webcam.js 、webcam.swf; js引用下载
1、前端jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script src="../resource/js/jquery/jquery-2.2.3.js" type="text/javascript"></script>
<script type="text/javascript" src="ajaxfileupload.js"></script>
<script src="webcam/webcam.js" type="text/javascript"></script>
<script type="text/javascript">
//-----------------------------------------------------
$(function(){
//加载拍照视频插件
webcam.set_swf_url('webcam/webcam.swf');
webcam.set_quality(100);
webcam.set_shutter_sound(true, 'webcam/shutter.mp3');
var cam = $("#webcam");
cam.html(
webcam.get_html(cam.width(), cam.height(), 1123, 794)
);
webcam.set_hook('onComplete', function (msg) {
webcam.reset();
msg = JSON.parse(msg);
if (msg.success) {
} else {
alert("图片初始失败!");
}
});
$("#cupture-upload").click(function(dom){
debugger;
var data = {};
data.id=1;
data.fileName="test";
if (!data) return false;
webcam.set_api_url("../upload/webCamUpload?id=" + data.id+"&fileName="+ encodeURI(data.fileName) + "");
webcam.snap();
});
});
</script>
</head>
<body>
<span>---------------------------------------------------------------------------</span></br>
<h1>拍照上传</h1></br>
<div><a id="cupture-upload" href="javascript:void(0)" >扫描上传</a></div></br>
<div style="width: 400px; height: 300px; text-align: center; border: 0px">
<div id="webcam" style="width: 100%; height: 100%; border: 0px solid red;"></div>
</div>
</body>
</html>
2、后端java:
@RequestMapping(value = "webCamUpload", method = RequestMethod.POST)
public void webCamUpload(HttpServletRequest request,HttpServletResponse response){
String Storage_PATH = request.getSession().getServletContext().getRealPath("blobform/imgs"); //文件存储位置
InputStream inStream = null;
try {
inStream = request.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
/* ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
byte[] buffer = new byte[2048];
int len = -1;
try {
while ((len = inStream.read(buffer)) != -1) {
outSteam.write(buffer, 0, len);
}
inStream.close();
outSteam.close();
outSteam.flush();
} catch (IOException e) {
e.printStackTrace();
}
byte[] bytes = outSteam.toByteArray(); //图像内容
*/
/* //返回response展示
response.setContentType("image/*");
try {
OutputStream stream = response.getOutputStream();
stream.write(bytes);
stream.flush();
stream.close();
} catch (IOException e) {
e.printStackTrace();
}*/
// 写出文件到路径下
BufferedOutputStream bos =null;
BufferedInputStream bis=null;
String fileName = request.getParameter("fileName");
try {
//读取文件
bis=new BufferedInputStream (inStream);
//指定存储的路径
bos=new BufferedOutputStream(new FileOutputStream(Storage_PATH+"/"+fileName+".jpg"));
int len=0;
byte[] buffer=new byte[10240];
while((len=bis.read(buffer))!=-1){
bos.write(buffer, 0, len);
}
//刷新此缓冲的输出流,保证数据全部都能写出
bos.flush();
bis.close();
bos.close();
} catch (Exception e) {
e.printStackTrace();
}
}