【问题标题】:How to process uploaded image in servlet ?如何在 servlet 中处理上传的图像?
【发布时间】:2013-01-17 09:08:19
【问题描述】:

在 jsp 页面中,我上传了一个图像文件,并将该 Jsp 页面转发到一个 Servlet,我想在 Servlet 中检索该图像并将该图像添加到数据库中......谁能解释如何检索图像在servlet中并将该图像添加到数据库中? 例如:我们可以使用 request.getParameter("string"); 来检索字符串; 同样,是否有任何预定义的方法来检索图像? 例如:prepareStatement.setInt(colomnindex); 同理有没有预定义的方法可以将图片添加到DataBase?

【问题讨论】:

  • 设置一个像FileZilla这样的FTP服务器

标签: java database jsp servlets


【解决方案1】:

类似的东西

HTML / JSP

Serlvet

String fotoURL = req.getParameter("foto");
        System.out.println(fotoURL);
        URL urlFoto = null;
        urlFoto = getClass().getClassLoader().getResource(fotoURL); 


        System.out.println(urlFoto);
        BufferedImage foto = ImageIO.read(urlFoto);

【讨论】:

    【解决方案2】:

    首先,使用 JSP 选择要上传的文件,您至少需要一个 HTML 元素来显示文件浏览字段。

    <form action="upload" method="post" enctype="multipart/form-data">
       <input type="file" name="file">
       <input type="submit">
    </form>
    

    在 servlet 中检索上传的文件,

    List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
    for (FileItem item : items) {
       if (!item.isFormField()) {
        // <input type="file">
        System.out.println("Field name: " + item.getFieldName());
        System.out.println("File name: " + item.getName());
        System.out.println("File size: " + item.getSize());
        System.out.println("File type: " + item.getContentType());
      } else {
        // <input type="text|submit|hidden|password|button">, <select>, <textarea>,<button>
        System.out.println("Field name: " + item.getFieldName());
        System.out.println("Field value: " + item.getString());
      }              
     }
    

    您只需要从 FileItem 对象中获取 InputStream 并将其写入任何 OutputStream。

       InputStream content = item.getInputStream();
                         OR
       item.write(new File("/uploads/filename.ext"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多