AjaxFileUpload实现文件上传
来源:互联网 发布:无纸化考试模拟软件 编辑:程序博客网 时间:2024/06/02 10:34
Ajax实现文件上传需要两个jar包:commons-fileupload-1.3.1.jar,commons-io-2.4.jar 和两个js文件ajaxfileupload.js,jquery.js
实例:
ajaxFileUpload.jsp
<script type="text/javascript" src="source/jquery.js"></script>
<script type="text/javascript" src="source/ajaxfileupload.js"></script>
<script type="text/javascript">
function ajaxFileUpload() {
$.ajaxFileUpload({
url:"FileUploadAjax",// servlet请求路径
type:"POST",
secureuri:false,
fileElementId:"file",// 上传控件的id
dataType:"json",
data : {"username": "zhangsan"}, // 其它请求参数
success:function(data, status) {
alert(data.name);
},
error:function(data, status, e) {
alert("上传出错");
}
});
return false;
}
</script>
</head>
<body>
<form action="" method="POST" enctype="multipart/form-data">
<input id="file" type="file" name="file"/>
<button class="button" onclick="return ajaxFileUpload();">上传</button>
</form>
</body>
AjaxFileUpload.java
package controller;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class FileUploadAjax extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("----------------");
request.setCharacterEncoding("utf-8"); // 设置编码
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
DiskFileItemFactory dfif=new DiskFileItemFactory();
ServletFileUpload sfl=new ServletFileUpload(dfif);
String path=request.getSession().getServletContext().getRealPath("file");
System.out.println(path);
String name=null;
try {
List<FileItem> list=sfl.parseRequest(request);
System.out.println(list.size());
for(FileItem fi:list)
{
if(!fi.isFormField())
{
File file=new File(path,fi.getName());
fi.write(file);
System.out.println("ok--------------------");
}else{
name=fi.getString();
System.out.println(name+"00000000000000000");
}
}
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
PrintWriter pw=response.getWriter();
String result="{\"name\":\""+name+"\"}";
System.out.println(result);
pw.println(result);
pw.flush();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
- AjaxFileUpload实现文件上传
- AjaxFileUpload实现多文件上传
- AjaxFileUpload实现文件异步上传
- ajaxfileupload实现文件异步上传
- 使用ajaxFileUpload实现文件上传
- ajaxFileUpload实现异步文件上传
- jQuery插件AjaxFileUpload实现文件上传
- jquery插件AjaxFileUpload实现ajax文件上传
- ajaxFileUpload+struts2实现异步上传文件
- 使用ajaxfileupload实现文件异步上传
- 使用AjaxFileUpload.js实现文件异步上传
- ajaxFileUpload+struts2实现多文件上传
- jQuery插件AjaxFileUpload实现ajax文件上传
- 使用ajaxFileUpload实现文件异步上传
- jQuery插件AjaxFileUpload实现ajax文件上传
- jquery ajaxfileupload插件实现文件上传
- jsp借助了ajaxfileupload实现上传文件
- jQuery插件AjaxFileUpload实现ajax文件上传
- 夜半三更来敲门_1
- GCC源码分析(5):自动向量化遍
- 人生如果是十分
- PHP语法快速入门
- 第三讲,我们来谈谈:“二进制的负数”
- AjaxFileUpload实现文件上传
- 斜率优化DP 【pascal】
- C++四种强制类型转换的总结
- Android开发必备的21个免费资源和工具
- Hibernate基础知识
- USACO Postal Vans 解题报告
- JAVA异常处理
- Android学习笔记1——android应用的原理
- Java笔记——2