返回

JQuery扫描仪编程示例代码

发布时间:2023-11-04 00:11:31 317


 1.js

$(function() {
$('#btnScan').click(function() {
document.getElementById('scaner1').scan();
}),
$('#btnUpload1').click(function() {
ajax_post_1();

}),
$('#btnUpload2').click(function() {
ajax_post_2();
})
});

function getServerUrl(){
if ($('#asp').attr("checked")==true) {
return "./ajax.asp";
}else if ($('#jsp').attr("checked")==true) {
return "http://localhost:8080/pages/ajax.jsp";
}else if ($('#php').attr("checked")==true) {
return "./ajax.php";
}else if ($('#aspnet').attr("checked")==true) {
return "./ajax.aspx";
} else{
alert('请选择服务器端技术类型!');
return null;
}
}


function ajax_post_1() {
var base64_data = document.getElementById('scaner1').jpegBase64Data;
// alert("data length:"+base64_data.length);
// var s=getServerUrl();
// alert(s);
$.ajax({
url : getServerUrl(),
type : 'POST',
dataType : 'jason',
data : {
picData : "'" + base64_data + "'",
picExt:".jpg"
},
timeout : 1000,
success : callbackfun1
});
}

function ajax_post_2() {
var base64_data = document.getElementById('scaner1').allImageAsPDFData;
// alert("data length:"+base64_data.length);
// var s=getServerUrl();
// alert(s);
$.ajax({
url : getServerUrl(),
type : 'POST',
dataType : 'jason',
data : {
picData : "'" + base64_data + "'",
picExt:".pdf"
},
timeout : 1000,
success : callbackfun1
});
}


function callbackfun1(data) {
var obj = eval('(' + data + ')');

if ('ok' == obj.savestatus) {
alert('success!');
}

}


 

2.html





ScanOnWeb控件JQuery技术示例页面






请选择服务器端技术:
    
    


































 

3.jsp代码

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*,java.io.*" errorPage="" %><%
//注意一行html内容也不要出现,防止被编译为serlvet以后有写html到客户端的行为
String savePath=config.getServletContext().getRealPath("/")+"//";

File tmp_path=new File(savePath);
tmp_path.mkdirs();
System.out.println("照片数据保存路径:"+savePath);

String pic_base_64_data=request.getParameter("picData");
//System.out.println("图片数据:"+pic_base_64_data);

//如果下面的代码输出true则说明需要调整服务器软件工作参数,解决接受post数据的大小限制问题,例如
//tomcat的话需要在server.xml中配置maxPostSize="0"来解除上传数据的大小限制 // connectionTimeout="20000"
// redirectPort="8443" maxPostSize="0"/>
//
System.out.println(null==pic_base_64_data);
System.out.println("base64 string length:"+pic_base_64_data.length());
String fileFormat=request.getParameter("picExt");
sun.misc.BASE64Decoder decode=new sun.misc.BASE64Decoder();

byte[] datas=decode.decodeBuffer(pic_base_64_data.substring(1, pic_base_64_data.length()-2));
String filename=String.valueOf(System.currentTimeMillis())+fileFormat;
File file=new File(savePath+filename);
OutputStream fos=new FileOutputStream(file);
System.out.println("图片文件名称:"+filename);
fos.write(datas);
fos.close();

response.setContentType("application/x-json");
response.setCharacterEncoding("utf-8");
out.print("{'savestatus':'ok'}");
out.flush();
out.close();
%>

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线