您的位置:首页 > 其它

Ubuntu vmtools

2014-04-15 16:48 155 查看
文件上传的方法有很多,可以基于commons-fileupload+commons-io的,其实也有基于cos.jar的方法,Jar 可以去http://www.servlets.com/cos/index.html 下载.

 

下面就以一个简单的图片上传+根据具体选项修改文件名的方法:

 

1.先写一个servlet类:

 

package com.lee.util;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
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.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;

import java.util.Enumeration;

import com.lee.util.test.MyFileRenamePolicy;
import com.oreilly.servlet.MultipartRequest;
import com.oreilly.servlet.multipart.FileRenamePolicy;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.oreilly.servlet.MultipartRequest;

public class FileUpload extends HttpServlet {

private String webTempPath;

public void init( ){
webTempPath = getServletContext( ).getRealPath("/") + "images/item";
}

public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, java.io.IOException {
String itemNo = request.getParameter("itemNo");
//file limit size of 5 MB
MultipartRequest mpr = new MultipartRequest(request,webTempPath,(5 * 1024 * 1024),new MyFileRenamePolicy(itemNo));
Enumeration enum2 = mpr.getFileNames( );

response.setContentType("text/html");
java.io.PrintWriter out = response.getWriter( );

out.println("<html>");
out.println("<head>");
out.println("<title>Servlet upload</title>");
out.println("</head>");
out.println("<body>");

for (int i = 1; enum2.hasMoreElements( );i++){

out.println("The name of uploaded file " + i +
" is: " + mpr.getFilesystemName((String) enum2.nextElement( )) +"/"+itemNo
+ "<br><br>");
}
out.println("</body>");
out.println("</html>");

}

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, java.io.IOException {

throw new ServletException("GET method used with " +
getClass( ).getName( )+": POST method required.");
}

}

 

 

2. 编程HTML代码:

 

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Please Choose The File</title>
</head>
<body bgcolor="#ffffff">
<table border="0"><tr>

<form action="upload" method="post" enctype="multipart/form-data">

<td valign="top">请选择文件:<br></td>

<td> <input type="file" name="file1">

<br><br>
</td></tr>

<tr><td><input type="submit" value="上传文件"></td></tr>
</form>

</table>
</body>
</html>

 

 

3.当然是XML的编写..

 

<servlet>

<servlet-name>upload</servlet-name>

<servlet-class>com.lee.util.test.UploadTest</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>upload</servlet-name>

<url-pattern>/upload</url-pattern>

</servlet-mapping>

 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: