将图片上传到服务器

3

我有一些图片需要上传到我的服务器。客户端使用Java编写,我将通过HTTP Post请求上传图片。我是否需要编写服务器端代码来处理HTTP Post请求?如果需要,我在哪里可以找到一些示例?服务器支持PHP和Tomcat。


PHP 参考文档:http://php.net/manual/zh/features.file-upload.php。你可能需要添加更多的细节,比如你打算如何处理上传文件,是否需要任何形式的身份验证。 - Pekka
1
这会有所帮助 https://dev59.com/J3NA5IYBdhLWcg3wKai3 - jmj
@pekka 我有一个安卓应用,我正在将用户的图片上传到我的服务器,以便他们可以在线查看。所有图片都将存储在公共文件夹中。目前服务器没有任何身份验证。 - Raunak
1个回答

1

在Java中实现非常简单。您需要实现HTTP servlet,覆盖doPost()方法,从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;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接