【问题标题】:Android, upload a file in the tomcat serverAndroid,在tomcat服务器上传文件
【发布时间】:2012-04-23 00:54:42
【问题描述】:

我正在寻找可以从我的 android 应用程序在 tomcat 服务器中快速上传图像的代码。

目前我还没有找到要放置在 tomcat 服务器(servlet)中的 java 代码

【问题讨论】:

    标签: java android tomcat file-upload


    【解决方案1】:

    这里是演示代码。

    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import org.apache.commons.fileupload.*;
    import org.apache.commons.fileupload.util.*;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    public class UploadServlet extends HttpServlet{
      protected void doPost(HttpServletRequest request, HttpServletResponse response) 
         throws ServletException, IOException {
       PrintWriter out = response.getWriter();
       out.print("Request content length is " + request.getContentLength() + "<br/>"); 
       out.print("Request content type is " + request.getHeader("Content-Type") + "<br/>");
       boolean isMultipart = ServletFileUpload.isMultipartContent(request);
       if(isMultipart){
                  ServletFileUpload upload = new ServletFileUpload();
           try{
                  FileItemIterator iter = upload.getItemIterator(request);
                  FileItemStream item = null;
                  String name = "";
                  InputStream stream = null;
                  while (iter.hasNext()){
                                         item = iter.next();
                                         name = item.getFieldName();
                                         stream = item.openStream();
                    if(item.isFormField()){out.write("Form field " + name + ": " 
                                               + Streams.asString(stream) + "<br/>");}
                    else {
                          name = item.getName();
                          if(name != null && !"".equals(name)){
                             String fileName = new File(item.getName()).getName();
                             out.write("Client file: " + item.getName() + " <br/>with file name "
                                                        + fileName + " was uploaded.<br/>");
                             File file = new File(getServletContext().getRealPath("/" + fileName));
                             FileOutputStream fos = new FileOutputStream(file);
                             long fileSize = Streams.copy(stream, fos, true);
                             out.write("Size was " + fileSize + " bytes <br/>");
                             out.write("File Path is " + file.getPath() + "<br/>");
                          }
                       }
                  }
              } catch(FileUploadException fue) {out.write("fue!!!!!!!!!");}
       } 
      }
    } 
    

    【讨论】:

      【解决方案2】:

      使用
      http://commons.apache.org/fileupload/
      或者如果您使用的是 Tomcat 7,则使用 Servlet 3.0 API

      【讨论】:

      • 我用的是tomcat 6,不然不知道commons-fileupload-1.2.2怎么用??
      猜你喜欢
      • 1970-01-01
      • 2020-08-08
      • 2018-04-02
      • 2012-02-06
      • 2014-10-27
      • 2012-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多