网上想找现成的,可是找不到,没得法只好(修改源程序)自己动手做了一个。
在自己机子上测试成功,可以支持中文。
下载:
/Files/hijackwust/jsmartcom_zh_CN.rar
-----------------------------------------------
没想到下载的人会这么多。
我把测试代码发出来,简单三个文件。
jsp页面:
<%@ page contentType="text/html;charset=GBK"%>
<html>
<head>
<title>File Upload</title>
</head>
<body>
<font size=5 color=#FF0000> <b>文件上传----使用jspsmart upload组件</b> </font>
<br>
<form action="uploadfile" method="post" enctype="multipart/form-data">
<p>文件名称: <input type="file" name="file1" size="20" maxlength="80">
</p>
<p>文件名称: <input type="file" name="file2" size="20" maxlength="80">
</p>
<p>文件名称: <input type="file" name="file3" size="20" maxlength="80">
</p>
<p>上传路径: <input type="text" name="path" size="30" maxlength="50"><br>
</p>
<p>附加内容: <input type="text" name="other" size="30" maxlength="50">
</p>
<p><input type="submit" value="上传"> <input type="reset"
value="重置"></p>
</form>
<font size=5 color=#FF0000> <b>文件下载----使用jspsmart upload组件</b> </font>
<br>
<form action="downloadfile" method="post">
<p>下载文件的名称: <input type="text" name="downloadFileName" size="20"
maxlength="80"></p>
<input type="submit" value="下载">
</body>
</form>
</html>
两个Servlet: ServletUpload 和ServletDownload
public class ServletUpload extends HttpServlet {
private ServletConfig config;
final public void init(ServletConfig config) throws ServletException {
this.config = config;
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<BODY BGCOLOR='white'>");
out.println("<H1>jspSmartUpload : Servlet Sample</H1>");
out.println("<HR>");
// 变量定义
int count = 0;
SmartUpload mySmartUpload = new SmartUpload();
try {
mySmartUpload.initialize(config, request, response);
mySmartUpload.upload();
for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
com.jspsmart.upload.File myfile = mySmartUpload.getFiles().getFile(i);
String fileName = myfile.getFileName();
count = mySmartUpload.save("/upload");
//count = mySmartUpload.save(null);
}
out.println(count + " file uploaded.");
} catch (Exception e) {
out.println("Unable to upload the file.<br>");
out.println("Error : " + e.toString());
}
out.println("</BODY>");
out.println("</HTML>");
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
public class ServletDownload extends HttpServlet {
private ServletConfig config;
final public void init(ServletConfig config) throws ServletException {
this.config = config;
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String temp_p =request.getParameter("downloadFileName");
byte[] temp_t=temp_p.getBytes("ISO8859_1");
String fileName=new String(temp_t,"GBK");
SmartUpload mySmartUpload = new SmartUpload();
try {
mySmartUpload.initialize(config, request, response);
mySmartUpload.setContentDisposition(null);
mySmartUpload.downloadFile("/upload/"+fileName);
} catch (Exception e) {
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}