java - HttpClient + FileUpload 如何从 servlet 下载文件到我的应用程序?

标签 java servlets file-io file-upload multifile-uploader

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

非常感谢有用的评论:)

安德鲁

最佳答案

在网络环境中,您可以使用 ServletOutputStream 。这里资源路径信息作为 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);
}

关于java - HttpClient + FileUpload 如何从 servlet 下载文件到我的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5335383/

相关文章:

java - 读取大文件时OutofMemoryError

Matlab 从文本文件到稀疏矩阵。

java - 如何在使用 Spring Boot 时通过在浏览器中点击 URL 来加载 Angular 组件?

java - 在scala中,如何提取DynamicVariable中的值?

java - 如何修复 "HTTP Status 500- Servlet exception threw an exception"

html - 即使映射,我也无法访问 servlet

java - 图形数据流组合框架

java - 如何将此代码从 jsp 页面更改为具有操作控制的 servlet 页面?

tomcat - 在 Servlet 容器中为 Google Client API 加载 pk12 java.io.File

c++ - 将 float 读入一个动态分配的数组,同时在读取文件时增加数组的大小