Java 如何使用Apache Commmons上传word、excel、jpg和zip文件?

Java 如何使用Apache Commmons上传word、excel、jpg和zip文件?,java,file-upload,apache-commons,Java,File Upload,Apache Commons,我正在使用apachecommons使用storeFile()方法将本地文件上载到FTP。它只适用于.txt文件,但不适用于任何其他文件,如MS word、excel、图像、zip文件等。该文件正在上载,但该文件中没有内容 代码 有人能在这方面帮助我吗?您好,要做到这一点,您应该在下面给出的表单页面中有enctype=“multipart/form data 上载表单HTML: <html> <head><title>Upload page</title

我正在使用apachecommons使用
storeFile()
方法将本地文件上载到FTP。它只适用于.txt文件,但不适用于任何其他文件,如MS word、excel、图像、zip文件等。该文件正在上载,但该文件中没有内容

代码
有人能在这方面帮助我吗?

您好,要做到这一点,您应该在下面给出的表单页面中有enctype=“multipart/form data

上载表单HTML:

<html>
<head><title>Upload page</title></head></p> <p><body>
<form action="./index.jsp" method="post" enctype="multipart/form-data" name="form1" id="form1">
    <center>
        <table border="2">
            <tr>
                <td align="center"><b>Multipale file Uploade</td>
            </tr>
            <tr>
                <td>
                    Specify file: <input name="file" type="file" id="file">
                <td>
            </tr>
            <tr>
                <td>
                    Specify file:<input name="file" type="file" id="file">
                </td>
                </tr>


            <tr>
                <td align="center">
                    <input type="submit" name="Submit" value="Submit files"/>
                </td>
            </tr>
        </table>
        <center>
     </form>
    </body>
</html>

上传页面

多路径文件上传 指定文件: 指定文件:
上载JSP:

  <%@ page import="java.util.List" %>
   <%@ page import="java.util.Iterator" %>
   <%@ page import="java.io.File" %>
   <%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
   <%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
   <%@ page import="org.apache.commons.fileupload.*"%>
   <%@ page contentType="text/html;charset=UTF-8" language="java" %>
   <center><table border="2">
        <tr><td><h1>Your files  uploaded </h1></td></tr>
   <%
 boolean isMultipart = ServletFileUpload.isMultipartContent(request);
 if (!isMultipart) {
 } else {
       FileItemFactory factory = new DiskFileItemFactory();
       ServletFileUpload upload = new ServletFileUpload(factory);
       List items = null;
       try {
           items = upload.parseRequest(request);
       } catch (FileUploadException e) {
           e.printStackTrace();
       }
       Iterator itr = items.iterator();
       while (itr.hasNext()) {
       FileItem item = (FileItem) itr.next();
       if (item.isFormField()) {
       } else {
           try {
               String itemName = item.getName();
               File savedFile = new File("C:\\ealvin@hp.com\\upload\\"+itemName);
               item.write(savedFile);  

               out.println("<tr><td><b>Your file has been saved at the loaction:</b></td></tr><tr><td><b>"+config.getServletContext().getRealPath("/")+"uploadedFiles"+"\\"+itemName+"</td></tr>");
           } catch (Exception e) {
               e.printStackTrace();
           }
       }
       }
   }
   %>
    </table>
   </center>

你上传的文件


谢谢你的回答,我正在做一个桌面应用,而不是网络应用。如果它是桌面应用,你能回答我吗?你需要设置二进制传输模式,请查看“谢谢你mtk”。我的问题解决了。
  <%@ page import="java.util.List" %>
   <%@ page import="java.util.Iterator" %>
   <%@ page import="java.io.File" %>
   <%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
   <%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
   <%@ page import="org.apache.commons.fileupload.*"%>
   <%@ page contentType="text/html;charset=UTF-8" language="java" %>
   <center><table border="2">
        <tr><td><h1>Your files  uploaded </h1></td></tr>
   <%
 boolean isMultipart = ServletFileUpload.isMultipartContent(request);
 if (!isMultipart) {
 } else {
       FileItemFactory factory = new DiskFileItemFactory();
       ServletFileUpload upload = new ServletFileUpload(factory);
       List items = null;
       try {
           items = upload.parseRequest(request);
       } catch (FileUploadException e) {
           e.printStackTrace();
       }
       Iterator itr = items.iterator();
       while (itr.hasNext()) {
       FileItem item = (FileItem) itr.next();
       if (item.isFormField()) {
       } else {
           try {
               String itemName = item.getName();
               File savedFile = new File("C:\\ealvin@hp.com\\upload\\"+itemName);
               item.write(savedFile);  

               out.println("<tr><td><b>Your file has been saved at the loaction:</b></td></tr><tr><td><b>"+config.getServletContext().getRealPath("/")+"uploadedFiles"+"\\"+itemName+"</td></tr>");
           } catch (Exception e) {
               e.printStackTrace();
           }
       }
       }
   }
   %>
    </table>
   </center>