Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HttpClient+;文件上传如何将文件从servlet下载到我的应用程序?_Java_Servlets_File Io_File Upload_Multifile Uploader - Fatal编程技术网

Java HttpClient+;文件上传如何将文件从servlet下载到我的应用程序?

Java HttpClient+;文件上传如何将文件从servlet下载到我的应用程序?,java,servlets,file-io,file-upload,multifile-uploader,Java,Servlets,File Io,File Upload,Multifile Uploader,我看过使用HttpClient和FileUpload的上传片段。但是我找不到任何演示HttpClient+FileUpload下载的片段:(如果你知道链接,甚至一些演示项目也可以共享,请 非常感谢有用的评论:) Andrew在web上下文中,您可以使用。这里,资源路径信息作为HTTP上的额外路径信息传递 final ServletOutputStream out = res.getOutputStream(); res.setContentType("application/octet-stre

我看过使用HttpClient和FileUpload的上传片段。但是我找不到任何演示HttpClient+FileUpload下载的片段:(如果你知道链接,甚至一些演示项目也可以共享,请

非常感谢有用的评论:)


Andrew

在web上下文中,您可以使用。这里,资源路径信息作为HTTP上的额外路径信息传递

final ServletOutputStream out = res.getOutputStream();
res.setContentType("application/octet-stream");
String file = req.getPathInfo();
if (file == null) {
  out.println("Extra path info was null; should be a resource to view");
  return;
}

// Convert the resource to a URL
URL url = getServletContext().getResource(file);
if (url == null) { 
  out.println("Resource " + file + " not found");
  return;
}

//Serve the file
InputStream in = url.openStream();
byte[] buf = new byte[4 * 1024]; // 4K buffer
int bytesRead;
while ((bytesRead = in.read(buf)) != -1) {
  out.write(buf, 0, bytesRead);
}

这是无限制的文件长度输出吗?根据给定的代码段,客户机代码段应该是什么?