java - 如何使用jsp和servlet将多个图像上传到文件夹中

标签 java jquery mysql jsp servlets

我想使用 jsp 和 servlet 将多个图像上传到服务器文件夹

我可以上传单张图片,但无法上传多张图片

请帮助我

最佳答案

尝试以下代码(Apache commons 文件上传)

index.jsp

<html>
 <head><title>Upload page</title></head><body>
 <form action="UploadServlet" method="post" enctype="multipart/form-data" name="form1" id="form1">
   <center>
   <table border="1">
       <tr>
           <td align="center"><b>Multipale file Uploade</td>
       </tr>
       <tr>
           <td>
               Select file: <input name="file" type="file" id="file">
           </td>
       </tr>
       <tr>
          <td>
             Select file:<input name="file" type="file" id="file">
          </td>
        <tr>
           <td>
              Select 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代码(如果您使用此代码按ctrl选择多个图像)

<html>
 <head><title>Upload page</title></head><body>
 <form action="UploadServlet" method="post" enctype="multipart/form-data" name="form1" id="form1">
   <center>
   <table border="1">
       <tr>
           <td align="center"><b>Multipale file Uploade</td>
       </tr>
       <tr>
           <td>
               Specify file: <input name="file" type="file" id="file" multiple>
           </td>
       </tr>
         <tr>
            <td align="center">
               <input type="submit" name="Submit" value="Submit files"/>
            </td>
         </tr>
    </table>
    <center>
 </form>
 </body>
 </html>

和UploadServlet.java

package com;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
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.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

@WebServlet("/UploadServlet")
public class UploadServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        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("D:\\"+itemName);
                    item.write(savedFile);  
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
    }
}

希望这有帮助!!!

关于java - 如何使用jsp和servlet将多个图像上传到文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29602430/

相关文章:

jquery - 当元素的高度改变时砌体自动调整

javascript - 根据背景图像颜色自动对比文本颜色

php - 使用div中的while条件获取mysql数据

java - 创建一个java程序来提取svn日志并将它们存储在xml中

java - Spring Security 无法在/spring_security_login 生成/映射默认登录页面

javascript - .load() 后回调函数不执行点击

php - SELECT SQL_CALC_FOUND_ROWS 查询超过 250000 条记录非常慢

php - 从数据库中抓取数据并转化为变量

Java 区分大小写 : Class file collision: A resource exists with a different case

java - 新的 GWT Maven 插件 (net.ltgt.gwt.maven) : no picking up of gwt. 来自 src/main/resources 的 xml(仅 src/main/java)