使用Commons进行文件上传

一、下载最新版的uploadify
http://www.uploadify.com/download/
二、将压缩包解压,复制
uploadify.css
uploadify.swf
swfobjects.js
jquery.uploadify.v2.1.0.min.js
cancel.png
jquery-1.3.2.min.js
default.css到项目中。
三、在项目中添加三个jar包
commons-fileupload-1.2.1.jar
commons-logging-1.0.4.jar
commons-io.jar
四、在需要使用上传插件的页页头部导入

Html代码

 <script type="text/javascript" src="js/jquery-1.4.2.js"></script>  
<!-- 文件上传开始 -->
<link href="css/default.css" rel="stylesheet" type="text/css" />
<link href="css/uploadify.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript" src="js/jquery.uploadify.v2.1.0.min.js"></script>
<script type="text/javascript" src="js/function.js"></script>
<!-- 文件上传结束 -->


五、编写js文件
Js代码

 1. $(document).ready(function(){     
//A文件上传
$("#uploadFile").uploadify({
'uploader' : 'images/uploadify.swf',//指定上传控件的主体文件,默认‘uploader.swf’
'script' : 'UploadServlet', //指定服务器端上传处理文件
'scriptData' : {'uploadFile':$('#uploadFile').val()},
'cancelImg' : 'images/cancel.png',
'fileDataName' : 'uploadFile',
'fileDesc' : 'jpg文件或jpeg文件或gif文件', //出现在上传对话框中的文件类型描述
'fileExt' : '*.jpg;*.jpeg;*.gif', //控制可上传文件的扩展名,启用本项时需同时声明fileDesc
'sizeLimit' : 512000, //控制上传文件的大小,单位byte
'folder' : '/uploadImages',
'queueID' : 'fileQueueA',
'auto' : false, //是否为自动上传
'multi' : true //是否允许多文件上传
});
});


六、html代码
Html代码

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jquery 文件上传</title>
</head>
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<!-- 文件上传开始 -->
<link href="css/default.css" rel="stylesheet" type="text/css" />
<link href="css/uploadify.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript" src="js/jquery.uploadify.v2.1.0.min.js"></script>
<script type="text/javascript" src="js/function.js"></script>
<!-- 文件上传结束 -->
<body>
<!-- 显示图片 -->
<div id="pic" style="position: absolute; right: 28px; top: 79px; width: 180px; height: 230px; z-index: 2;"></div>
<div class="demo">
<p><strong>Multiple File Upload</strong></p>
<input id="uploadFile" name="uploadFile" type="file" /> <a href="javascript:$('#uploadFile').uploadifyUpload();">Upload Files</a> | <a href="javascript:$('#uploadFile').uploadifyClearQueue();">Clear Queue</a></div>
<div id="fileQueueA" ></div>
</body>
</html>


七、servlet代码
Java代码

1. package com.aptech.servlet;  
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletConfig;
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;
import com.aptech.util.FileUploadUtil;

public class UploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static String path;

@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 生成存放文件的路径
String savePath = path + "/";
File f1 = new File(savePath);
if (!f1.exists()) {
f1.mkdirs();
}
DiskFileItemFactory fac = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(fac);
upload.setHeaderEncoding("utf-8");
List fileList = null;
try {
fileList = upload.parseRequest(request);
} catch (FileUploadException ex) {
return;
}
Iterator<FileItem> it = fileList.iterator();
String name = "";
String extName = "";
while (it.hasNext()) {
FileItem item = it.next();
if (!item.isFormField()) {
name = item.getName();
// 新的文件名
String newUploadFileName = FileUploadUtil.getlnstance().getNewFileName(name);
// // 扩展名格式:
// if (name.lastIndexOf(".") >= 0) {
// extName = name.substring(name.lastIndexOf("."));
// }
File saveFile = new File(savePath + newUploadFileName);
try {
item.write(saveFile);
} catch (Exception e) {
e.printStackTrace();
}
}
}
} .
@Override
public void init(ServletConfig config) throws ServletException {
path = config.getServletContext().getRealPath("/uploadImages");
}

}


八、配置servlet
Xml代码

  1. <?xml version="1.0" encoding="UTF-8"?>  
2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>jquery_upload</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>UploadServlet</display-name>
<servlet-name>UploadServlet</servlet-name>
<servlet-class>com.aptech.servlet.UploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UploadServlet</servlet-name>
<url-pattern>/UploadServlet</url-pattern>
</servlet-mapping>
</web-app>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值