1、web端的文件上传。
这里是利用了第三方的jar包。这里所需要的jar包我已经上传到本博客的资源里了,以下是连接
http://download.csdn.net/detail/caihongshijie6/6239041
代码如下:
1)login.jsp
<%@ page contentType="text/html; charset=utf-8"%> <html> <body> <form action="http://192.168.1.101:8080/Web3/LoginServlet" method="post" enctype="multipart/form-data"> file:<input name="file" type="file"/><br> <input type="submit"/> </form> </body> </html>
package com.njupt.servlet; 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.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; public class LoginServlet extends HttpServlet { public LoginServlet() { super(); } public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean isMultipart = ServletFileUpload.isMultipartContent(request); try { if (isMultipart) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); String path = request.getSession().getServletContext() .getRealPath("/files1"); System.out.println(path); File dir = new File(path); if (!dir.exists()) { dir.mkdirs(); } for (FileItem item : items) { if (item.isFormField()) { } else { String filename = item.getName(); File file = new File(dir, getFileName(filename)); item.write(file); } } } else { doGet(request, response); } } catch (Exception e) { e.printStackTrace(); } } public String getFileName(String filename) { if (filename.contains("\\")) { return filename.substring(filename.lastIndexOf("\\") + 1); } return filename; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } public void init() throws ServletException { // Put your code here } }
2、android文件上传功能的实现
这里也用到了第三方的jar包
下载链接:http://download.csdn.net/detail/caihongshijie6/6239103
public boolean uploadFile(String path , String username , String password , String filename) throws Exception{ System.out.println("。。。。。自己写的android短的上传文件......."); org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient(); PostMethod postMethod = new PostMethod(path); Part[] parts = new Part[]{ new StringPart("username",username), new StringPart("password",password), new FilePart("file",new File(filename)) }; MultipartRequestEntity entity = new MultipartRequestEntity(parts, postMethod.getParams()); postMethod.setRequestEntity(entity); int responseCode = httpClient.executeMethod(postMethod); if(responseCode == 200){ return true; } return false; }