ajax验证,上传图片流
jsp
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
<script type="text/javascript">
var request;
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!");
}
//用以拿到输入框的帐号和密码以及后台Servlet地址
function uploadImage(imageStream,fileName){
var url = “url”;
createRequest();
request.open("post",url,true);
request.onreadystatechange = processResponse;
request.send(null);
}
function MyLogin(){
document.getElementById("login").style.visibility="visible";
}
function processResponse(){
var res=request.responseText;
if (request.readyState == 4) { // 判断对象状态
if (request.status == 200) { // 信息已经成功返回,开始处理信息
//由后台Servlet传过来的信息
document.all['pic'].src = "<%=basePath%>/idCardImage/"+res;
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
</script>
java
上传图片
public String uploadImage(String filename, String image,String fileDir) {
FileOutputStream fos = null;
try{
byte[] buffer = new BASE64Decoder().decodeBuffer(image); //对android传过来的图片字符串进行解码
File destDir = new File(fileDir);
if(!destDir.exists()) destDir.mkdir();
fos = new FileOutputStream(new File(destDir,filename)); //保存图片
fos.write(buffer);
fos.flush();
fos.close();
return "true";
}catch (Exception e){
e.printStackTrace();
return "false";
}
}
public ActionForward uploadImage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String imageStream = request.getParameter("imageStream");
String fileName = request.getParameter("fileName");
fileName = fileName +".jpg";
imageStream = imageStream.replaceAll(" ", "+");//ajax传入的图片流把加号替换成了空格,需要转一下
ServletContext context = this.servlet.getServletContext(); // 文件路径
String fileDir = context.getRealPath("/") + "idCardImage/";
response.setContentType("text/xml; charset=utf-8");
PrintWriter out=null;
try {
out = response.getWriter();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String flag = uploadImage(fileName,imageStream,fileDir);
if(flag.equals("true")){
out.print(fileName);
return null;
} else {
out.print(fileName);
return null;
}
}
相关推荐
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo