zoukankan      html  css  js  c++  java
  • web端、android端的文件上传

    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>


    2)LoginServlet

    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;
    	}


  • 相关阅读:
    功能检查和降级
    蓄水池问题
    Linux删除大于/小于固定大小的文件等
    理解Faster-RCNN 中的Anchor
    【转】DBSCAN密度聚类算法
    ROC曲线和PR曲线
    LSTM比较RNN
    【转】ROI Pooling
    【转】VGG网络结构及参数
    面试知识点准备(各方面)
  • 原文地址:https://www.cnblogs.com/pangblog/p/3313127.html
Copyright © 2011-2022 走看看