1. 简单的请求页面:index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>AJAX上传文件</title>
<script type="text/javascript" src="<%=basePath %>js/jquery.js"></script>
<script type="text/javascript" src="<%=basePath %>js/ajaxfileupload.js"></script>
<script type="text/javascript">
function fileupload(){
if($("#filePath").val()==""){
alert("上传文件不能为空!");
return false;
}
$.ajaxFileUpload({
url:"<%=basePath %>/fileLoad",
secureuri:false,
fileElementId:'filePath',
dataType: 'text/xml',
success: function (data) {
alert("success");
},error: function (data, status, e){
alert("fail");
}
}
);
}
</script>
</head>
<body>
<input type="file" name="filePath" id="filePath"/>
<input type="button" name="fileLoad" id="fileLoad" value="上传" onClick="fileupload()"/>
</body>
</html>
2. 简单的servlet上传文件处理
// 上传之后的文件保存在这个文件夹下
String filepath = this.getServletContext().getRealPath("")+java.io.File.separator+"picture"+java.io.File.separator;
String filename = "";
String type="";
ServletInputStream in = request.getInputStream();
byte[] buf = new byte[4048];
int len = in.readLine(buf, 0, buf.length);
String f = new String(buf, 0, len - 1);
while ((len = in.readLine(buf, 0, buf.length)) != -1) {
filename = new String(buf, 0, len);
int j = filename.lastIndexOf("\"");
int p = filename.lastIndexOf(".");
//文件类型
type=filename.substring(p,j);
//文件名称
filename = System.currentTimeMillis()+type;
DataOutputStream fileStream = new DataOutputStream(
new BufferedOutputStream(new FileOutputStream(filepath+ filename))
);
len = in.readLine(buf, 0, buf.length);
len = in.readLine(buf, 0, buf.length);
while ((len = in.readLine(buf, 0, buf.length)) != -1) {
String tempf = new String(buf, 0, len - 1);
if (tempf.equals(f) || tempf.equals(f + "--")) {
break;
}
else{
// 写入
fileStream.write(buf, 0, len);
}
}
fileStream.close();
}
PrintWriter out=response.getWriter();
String result = filename ;
out.print(result);
out.close();
in.close();
分享到:
相关推荐
在本文中,我们将深入探讨如何将jQuery插件AjaxFileUpload与Struts2框架结合,以实现异步图片上传的功能。这种技术在现代Web应用中非常常见,它提升了用户体验,允许用户在不刷新整个页面的情况下上传文件,特别是...
AjaxFileUpload是JQuery插件,用于实现异步文件上传功能,尤其适用于处理图片上传。在本文中,我们将详细介绍如何使用Struts 2和AjaxFileUpload组件来实现在Web应用程序中进行图片的上传与预览。 一、Struts 2 框架...
在Web开发中,异步上传是...总之,jQuery异步上传结合`ajaxfileupload.js`插件,为Web应用提供了一种高效、友好的文件上传解决方案。开发者可以利用这些工具轻松地实现文件上传功能,同时确保良好的用户体验和安全性。
在前端,我们可以使用jQuery和AjaxFileUpload来实现异步文件上传。AjaxFileUpload是jQuery的一个插件,它允许我们在不刷新页面的情况下发送文件到服务器。以下是一个基本的HTML表单和JavaScript代码示例: ```html ...
`AjaxFileUpload` 是一个基于 jQuery 的插件,它允许用户通过异步方式上传文件,无需刷新整个页面。而SpringMVC作为Java后端的一个强大的MVC框架,提供了处理文件上传请求的能力。本文将详细介绍如何结合 `...
在本文中,我们将深入探讨如何使用jQuery插件AjaxFileUpload实现异步文件上传。AjaxFileUpload是一个方便的工具,它允许我们在不刷新页面的情况下完成文件上传操作,这在现代Web应用中非常常见,特别是在需要用户...
在JSP页面中,可以通过jQuery的$.ajaxFileUpload()方法调用这个插件。该方法的参数包括URL(服务器接收上传文件的地址)、secureuri(是否使用安全协议)、fileElementId(输入文件元素的ID)、dataType(返回数据...
同时,我们需要使用`ajaxFileUpload`插件来处理异步上传。例如: ```html <form id="uploadForm" enctype="multipart/form-data"> ()">上传 <script src="jquery.js"> <script src="ajaxfileupload.js"> ...
这里我们关注的是使用JSP(JavaServer Pages)配合AjaxFileUpload和Servlet实现不刷新页面的多张图片异步上传。这种方法可以提升用户体验,因为用户在上传过程中无需等待页面刷新,可以继续浏览其他内容。 首先,...
"Ajax + JSP 实现带进度条的文件上传"是一个技术性较强的话题,它结合了异步JavaScript和XML(Ajax)技术以及Java服务器页面(JSP)技术,为用户提供了一种无需刷新整个页面即可实现文件上传并展示进度条的效果,极...
这个过程中的关键文件包括`ajaxfileupload.css`(可能用于美化上传组件样式),`jquery.js`(提供jQuery库),`ajaxfileupload.js`(用于Ajax文件上传的插件),以及`fileUpload.jsp`和`ajaxfileupload.jsp`(分别...
1. **前台异步上传**:使用jQuery的`ajaxFileUpload.js`插件进行异步上传,该插件简化了文件上传的过程,无需刷新页面即可完成上传动作。 2. **后端处理**:后端接收到上传的图片数据后,将其写入服务器上的临时...
3. **AJAXFileUpload组件**:在给定的文件列表中,提到了一个名为AJAXFileUpload的组件,这可能是一个现成的JavaScript库,如jQuery-File-Upload,它封装了文件选择、分块上传、进度显示等功能,使得开发者能更便捷...
找了好久终于在网上找到了ajax异步上传文件的方法,不过网上大多数是php的 ,我改为struts2写的 大同小异,希望对学习java的人有一定的帮助。我上传的是音乐文件。 ajaxfileupload.js这个js文件是主要文件,一定要...
在IT行业中,异步上传是Web应用中常见的一种功能,特别是在处理大文件或者需要实时反馈的场景下。这个"java做的ajax异步上传 图片或文件的demo"为我们提供了一个基于Java后端和Ajax前端技术的实现示例,用于演示如何...
- `canPushToItv.js`和`ajaxfileupload.js`可能是用于前端交互的JavaScript文件,特别是`ajaxfileupload.js`可能是一个用于异步文件上传的库,如jQuery的AjaxFileUpload插件。 - 这些脚本负责捕获表单数据,发送...
`ajaxfileupload.js`可能是一个用于前端文件上传的JavaScript库,如jQuery的AjaxFileUpload插件。它允许用户在不刷新页面的情况下上传文件,提高用户体验。你需要在JSP页面中引用这个脚本,并编写相应的JavaScript...
而ajaxfileupload则是一个用于处理文件上传的JavaScript库,它支持异步上传,能够实现文件上传与页面交互。 1. **前端实现** 前端部分主要涉及到HTML和JavaScript代码。在jsp页面中,我们首先引入了jQuery和...
ajaxfileupload.js是一个jQuery插件,用于处理文件的异步上传。在HTML中,我们需要创建一个表单元素,包含文件输入控件,以及一个用于显示上传进度或结果的元素。 ```html 上传 <div id="uploadResult"></div>...
在本文提供的实例中,还考虑了异步上传过程中的进度反馈。这需要在AJAX请求中添加回调函数来获取上传进度,并将进度信息反馈给用户,从而提升用户体验。 实例中提到的代码片段中,也使用了JavaScript来控制文件上传...