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;
}
}
相关推荐
5. **服务器处理**:ASP脚本接收到请求后,读取上传的数据,验证图片格式和大小,然后将其保存到服务器。 6. **响应客户端**:ASP返回一个JSON或XML响应,包含上传结果(成功或失败),JavaScript根据这个响应更新...
"Struts2+jQuery+Ajax实现头像上传切割图片"是一个典型的Web开发技术组合,它结合了Struts2作为后端MVC框架,jQuery作为前端JavaScript库,以及Ajax进行异步数据传输,来提供流畅的图片上传和裁剪功能。以下将详细...
在本文中,我们将深入探讨如何使用PHP、jQuery和AJAX技术实现无刷新图片上传功能。这一技术在现代网页开发中非常常见,它提高了用户体验,让用户能够在不刷新整个页面的情况下完成文件上传。 首先,我们从PHP的角度...
在这个场景中,AJAX用于在用户选择图片后,通过后台处理预览和上传过程,提高用户体验,因为用户可以在不离开当前页面的情况下完成操作。 2. PHP (Hypertext Preprocessor): PHP是一种服务器端脚本语言,常用于...
本教程将重点讲解如何在React前端框架中实现图片的上传,并通过Ajax与Java后端进行交互,最终完成图片的预览。以下是对这个主题的详细阐述: 1. **React组件化开发**: React是一种流行的JavaScript库,用于构建...
图片上传的业务逻辑通常会封装在控制器的某个方法中,接收并验证Ajax发送的请求数据,处理文件上传,并返回响应结果。 jQuery(jq)在这里的角色是前端交互,它是一个强大的JavaScript库,简化了DOM操作、事件处理...
在多图片上传的场景中,PHP主要负责接收由Ajax发送的图片数据,处理这些数据(如验证、重命名、压缩),然后将图片保存到服务器的指定目录。 2. **jQuery**:jQuery是一个流行的JavaScript库,简化了DOM操作、事件...
"fileup.rar"这个压缩包提供的资源可能是一个简单的实现前端图片上传功能的代码示例,利用了AJAX技术来处理文件流上传,同时也允许接口进行自定义,以适应不同的后端需求。现在我们详细探讨一下这个过程涉及的技术点...
文件上传是Web应用中常见的功能,它允许用户将本地文件传输到服务器。在这个主题中,我们探讨了多种实现文件上传的技术,包括AJAX、...同时,确保上传的安全性,如验证文件类型、大小,防止DoS攻击,也是必不可少的。
在这个案例中,我们将使用AJAX实现后台文件上传,用户可以在等待文件上传的同时继续浏览其他内容。 3. **PHP**: PHP是一种服务器端的脚本语言,常用于Web开发,可以接收并处理客户端发送的数据,例如通过AJAX提交的...
AjaxUpload是jQuery的一个插件,它提供了一种方便的异步文件上传方式,无需刷新页面即可完成文件上传,提高了用户体验。在这个“Jquery AjaxUpload实现文件上传实例 PHP版”中,我们将探讨如何使用jQuery的Ajax...
在现代Web开发中,用户交互性是至关重要的,特别是在处理媒体内容如图片上传时。...在实际应用中,你可能还需要考虑其他方面,如文件大小限制、图片格式验证、服务器端的安全措施等,以打造一个完整的图片上传系统。
7. 文件上传进度显示:使用Ajax上传文件时,可以实时显示上传进度,让用户了解操作状态,提升用户体验。 8. 数据表格分页:在大数据量的表格中,Ajax实现分页加载,只在需要时获取和显示数据,减少页面加载时间。 ...
- 验证上传文件的内容,确保是图片而非其他可能的恶意代码。 7. **前端验证**: - 在客户端进行初步的文件类型和大小验证,减少无效请求,减轻服务器压力。 - 使用`accept`属性限制用户只能选择特定类型的文件,...
- 在服务器端,我们需要验证上传文件的类型和大小,确保安全。例如,限制只能上传图片文件,并检查文件大小不超过设定的阈值。 - 接着,我们可能需要对图片进行一些预处理,比如调整尺寸、裁剪或添加水印等。 3. ...
在图片上传功能中,Servlet将处理文件的接收、验证和存储。 3. 图片上传流程: - 用户通过JSP页面提交包含图片文件的表单。 - 表单提交到对应的Servlet,Servlet接收到请求后,从请求中获取文件流。 - 文件流...
本项目"PHP+Ajax无刷新文件上传代码"结合了PHP和Ajax技术,实现了这一功能,并且特别加入了进度条显示,支持包括图片、压缩包和视频在内的大文件上传。 首先,我们来看PHP的角色。PHP是一种服务器端的脚本语言,...
### 70个流行的AJAX应用演示和源码下载 #### 概述 本文将详细介绍一个包含70个流行的AJAX应用演示及其源码下载的资源。这些示例覆盖了AJAX技术在不同领域的实际应用,包括但不限于图像画廊、微链接模式、新闻阅读...
这个组件尤其适用于需要批量上传图片或文档的情况。MultiFile提供了自定义限制,如最大可选文件数量、文件类型检查等。使用`$.fn.MultiFile`方法,可以轻松地为表单元素添加多文件选择和上传功能。 在实际应用中,...
在这个博客系统中,采用了 Ajax 技术实现文件的异步上传。Ajax 允许在不刷新整个页面的情况下与服务器进行数据交换,提供更流畅的用户体验。异步上传插件通常会配合 formData 对象,通过 XMLHttpRequest 或 Fetch ...