【问题标题】:Upload Images to Server上传图片到服务器
【发布时间】:2011-06-01 16:56:22
【问题描述】:

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

【问题讨论】:

  • PHP 参考:php.net/manual/en/features.file-upload.php 不过,您可能想添加更多细节 - 您并没有说明您打算如何处理上传内容,以及是否需要任何类型的身份验证
  • @pekka 我有一个 Android 应用程序,我正在将用户的图像上传到我的服务器,这样他们就可以在线查看它们。所有图像将存储在公共文件夹中。服务器目前没有任何身份验证。

标签: java php file-upload http-post


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 2018-06-24
    相关资源
    最近更新 更多