将图像上传到服务器

时间:2010-12-30 18:42:41

标签: java php file-upload http-post

我想要上传到服务器的图片很少。客户端是用Java编写的,我将发送一个HTTP Post请求来上传图像。我是否需要编写服务器端代码来处理http post请求?如果是这样,我在哪里可以找到一些例子?服务器支持PHP和Tomcat。

1 个答案:

答案 0 :(得分:1)

在java中实现非常简单。您必须实现覆盖doPost()方法的HTTP servlet,该方法从从HTTP请求获取的输入流中读取并写入文件输出流。

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    InputStream in = req.getInputStream();
    OutputStream out = new FileOutputStream("myfile.jpg");
    IOUtils.copy(in, out);
    out.flush();
    out.close();
}

IOUtils是jakarta commons的实用工具。如果您不想将此库包含在类路径中,请使用copy()方法的源代码:

protected static long copy(InputStream input, OutputStream output)
        throws IOException {
    byte[] buffer = new byte[4096]; 
    long count = 0L;
    int n = 0;
    while (-1 != (n = input.read(buffer))) {
        output.write(buffer, 0, n);
        count += n;
    }
    return count;
}