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