uploadify java 上传_jquery使用uploadify插件实现多文件的上传(java版)
2、安裝,由于下載下來的例子是php版本的,所以我只留下了主要的幾個文件。如圖:
4、使用
前臺頁面:
pageEncoding="UTF-8"%>
html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd">
Insert?title?here$(document).ready(function()?{
$("#uploadify").uploadify({
'swf'???????:?'plugin/uploadify/uploadify.swf',
'uploader'??:?'UploadServlet',
'folder'?????????:?'/upload',
'queueID'????????:?'fileQueue',
'cancelImg'??????:?'plugin/uploadify/uploadify-cancel.png',
'buttonText'?????:?'上傳文件',
'auto'???????????:?false,?//設置true?自動上傳?設置false還需要手動點擊按鈕
'multi'??????????:?true,
'wmode'??????????:?'transparent',
'simUploadLimit'?:?999,
'fileTypeExts'????????:?'*.*',
'fileTypeDesc'???????:?'All?Files'
});
});
上傳|
取消上傳
后臺:
這里需要用到commons-fileupload組件,自行下載(提供的源碼中有哦~)。
import?java.io.BufferedInputStream;
import?java.io.BufferedOutputStream;
import?java.io.File;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.PrintWriter;
import?java.util.Date;
import?java.util.Iterator;
import?java.util.List;
import?javax.servlet.ServletException;
import?javax.servlet.annotation.WebServlet;
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?org.apache.commons.fileupload.util.Streams;
/**
*?Servlet?implementation?class?UploadServlet
*/
@WebServlet("/UploadServlet")
public?class?UploadServlet?extends?HttpServlet?{
private?static?final?long?serialVersionUID?=?1L;
/**
*?@see?HttpServlet#HttpServlet()
*/
public?UploadServlet()?{
super();
//?TODO?Auto-generated?constructor?stub
}
/**
*?@see?HttpServlet#doGet(HttpServletRequest?request,?HttpServletResponse?response)
*/
protected?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)?throws?ServletException,?IOException?{
//?TODO?Auto-generated?method?stub
doPost(request,response);
}
/**
*?@see?HttpServlet#doPost(HttpServletRequest?request,?HttpServletResponse?response)
*/
protected?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)?throws?ServletException,?IOException?{
//?TODO?Auto-generated?method?stub
//文件存放的目錄
File?tempDirPath?=new?File(request.getSession().getServletContext().getRealPath("/")+"\\upload\\");
if(!tempDirPath.exists()){
tempDirPath.mkdirs();
}
//創建磁盤文件工廠
DiskFileItemFactory?fac?=?new?DiskFileItemFactory();
//創建servlet文件上傳組件
ServletFileUpload?upload?=?new?ServletFileUpload(fac);
//文件列表
List?fileList?=?null;
//解析request從而得到前臺傳過來的文件
try?{
fileList?=?upload.parseRequest(request);
}?catch?(FileUploadException?ex)?{
ex.printStackTrace();
return;
}
//保存后的文件名
String?imageName?=?null;
//便利從前臺得到的文件列表
Iterator?it?=?fileList.iterator();
while(it.hasNext()){
FileItem?item?=??it.next();
//如果不是普通表單域,當做文件域來處理
if(!item.isFormField()){
imageName?=?new?Date().getTime()+Math.random()*10000+item.getName();
BufferedInputStream?in?=?new?BufferedInputStream(item.getInputStream());
BufferedOutputStream?out?=?new?BufferedOutputStream(
new?FileOutputStream(new?File(tempDirPath+"\\"+imageName)));
Streams.copy(in,?out,?true);
}
}
//
PrintWriter?out?=?null;
try?{
out?=?encodehead(request,?response);
}?catch?(IOException?e)?{
e.printStackTrace();
}
//這個地方不能少,否則前臺得不到上傳的結果
out.write("1");
out.close();
}
/**
*?Ajax輔助方法?獲取?PrintWriter
*?@return
*?@throws?IOException
*?@throws?IOException
*?request.setCharacterEncoding("utf-8");
response.setContentType("text/html;?charset=utf-8");
*/
private?PrintWriter?encodehead(HttpServletRequest?request,HttpServletResponse?response)?throws?IOException{
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;?charset=utf-8");
return?response.getWriter();
}
}
5、最終效果圖 有點類似百度上傳文件的頁面效果 沒有百度做的好看哈~ 請勿噴
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的uploadify java 上传_jquery使用uploadify插件实现多文件的上传(java版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国债发行的目的是什么?看完就懂了
- 下一篇: 国债价格和利率的关系,两点很重要