我不明白为什么这这么难,每个人都有自己的实现...
所以在我的服务器中,我生成了一个. zip
文件,我希望用户能够在点击后下载。
所以我设置了请求,服务器成功地接收到了请求,现在,我正在努力将字节数组写入输出。
这是我的回应代码:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Downloading clusters.zip");
/* Generate the directory on the server, then zip it. */
clustersToFiles();
zipClusters();
/* Now the zip is saved on zipFullPath */
System.out.println("Done generating the .zip");
String parent_dir = System.getProperty("catalina.base");
String filename = "clusters.zip";
String zipFullPath = parent_dir + "/" + filename;
response.setContentType("application/zip");
response.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
OutputStream out = response.getOutputStream();
FileInputStream fis = new FileInputStream(zipFullPath);
int bytes;
while ((bytes = fis.read()) != -1) {
System.out.println(bytes);
out.write(bytes);
}
fis.close();
response.flushBuffer();
System.out.println(".zip file downloaded at client successfully");
}
下载的文件是ZIP文件这一事实与此无关(内容类型除外),您只想下载一个二进制文件。
PrintWriter
不擅长于此,此编写器用于编写文本输出,并且您正在使用的写(int)
方法:
写入单个字符。
只需使用低级普通的OutputStream
,它的write(int)
方法:
将指定的字节写入此输出流。
那就去吧:
OutputStream out = response.getOutputStream();
在这个问题中,您可能会找到更多的方法:实现一个简单的文件下载servlet
本文向大家介绍JavaServlet的文件上传和下载实现方法,包括了JavaServlet的文件上传和下载实现方法的使用技巧和注意事项,需要的朋友参考一下 先分析一下上传文件的流程 1-先通过前段页面中的选择文件选择要上传的图片 index.jsp 2-点击提交按钮,通过ajax的文件上传访问服务器端 common.js 3-服务器端响应保存或者下载 保存上传文件的FileUpload.jav
我试图下载从我的仓库在GitHub 我使用,这是返回: 如何创建<code>设置。py和我必须放什么?
主要内容:在 pom.xml 中配置,在 setting 中配置Nexus 作为最流行的 Maven 私服之一,使用它主要目的之一:代理远程仓库,即当 Maven 需要下载构件到本地仓库使用时,不再请求外部的远程仓库,而直接从 Nexus 中下载。本节我们将介绍如何配置 Maven 从 Nexus 下载构件。 将 Nexus 的代理仓库配置到 Maven 项目中,用它们代替外部的远程仓库,即可实现 Maven 从 Nexus 下载构件。 在 pom.xml 中
我目前正在使用apollo android和iOs库,这需要我下载模式。是否可以从graphicql下载模式?目前,我一直从命令行收到错误,无法从GraphiQL界面手动下载。提前谢谢!
我正在尝试将html表下载为cvs文件。我的代码正在工作,但是,它正在下载一个名为“未知”的文件,没有扩展名。csv'。如果我手动添加扩展名,csv文件将正确显示除第一行之外的所有内容,该行还包含html代码(请参见所附图片) 我做错了什么? 以下是脚本:
从swarm网络下载文件和目录到缓冲buffer中,或者磁盘中(仅限node.js)。 调用: web3.bzz.download(bzzHash [, localpath]) 参数: bzzHash - String: 要下载的文件或目录的哈希值。如果哈希对应一个裸文件,则函数返回Buffer, 如果是一个Manifest文件,函数将返回目录结构。如果给定localpath参数,函数将返回下载