【问题标题】:Sending a image to servlet in java how to get the image in servlet在java中向servlet发送图像如何在servlet中获取图像
【发布时间】:2011-12-16 01:42:06
【问题描述】:

我正在将图像从 android 手机发送到服务器,这是一个 servlet,我为此使用 HttpClient 和 HttpPost,并在发送前使用 ByteArrayBody 存储图像。

如何从 Servlet 中的 post 请求中提取图像。

这是我发送帖子请求的代码

String postURL = //server url;

HttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost(postURL);

ByteArrayBody bab = new ByteArrayBody(imageBytes,"file_name_ignored");
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
reqEntity.addPart("source", bab);
postRequest.setEntity(reqEntity);

HttpResponse response = httpClient.execute(postRequest);

【问题讨论】:

标签: java android servlets


【解决方案1】:

使用commons fileupload 之类的东西。

在 Apache 文档以及整个网络中都有示例。

【讨论】:

  • 你能发个例子吗
  • @user964428 单击链接并查看用户指南或示例之一。如果您只是反刍别人发布的内容,您将如何诊断/解决任何问题?
【解决方案2】:

Servlet 3.0 支持读取多部分数据。 MutlipartConfig support in Servlet 3.0 如果使用 @MutlipartConfig 注释对 servelt 进行注释,则容器负责通过

使 Multipart 部分可用
  1. HttpServletRequest.getParts()
  2. HttpServletRequest.getPart("name");

【讨论】:

    【解决方案3】:

    使用http://commons.apache.org/fileupload/using.html

    private DiskFileItemFactory fif = new DiskFileItemFactory(); 
    
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
                    throws ServletException, IOException {
        boolean isMultipart = ServletFileUpload.isMultipartContent(req);
    
        if(!isMultipart)
            throw new ServletException("upload using multipart");
    
        ServletFileUpload upload = new ServletFileUpload(fif);
        upload.setSizeMax(1024 * 1024 * 10 /* 10 mb */);
        List<FileItem> items;
        try {
            items = upload.parseRequest(req);
        } catch (FileUploadException e) {
            throw new ServletException(e);
        }
    
        if(items == null || items.size() == 0)
            throw new ServletException("No items uploaded");
    
        FileItem item = items.get(0);
        // do something with file item...
    }
    

    【讨论】:

    • 但是我正在将图像发送到服务器,所以在得到它之后我该如何使用它对其进行一些编辑
    • 我认为这是另一个问题 :) 但你可以做很多事情:javalobby.org/articles/ultimate-image
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多