java 的在线下载文件 .pdf

 java  的在线下载文件  .pdf

1.下载资源的本地位置


2.设置响应头


3.下载代码


1 PeriodicalResource periodicalResource = periodicalResourceService.get(id);
 2         String filePath = periodicalResource.getAttachment();//获取资源位置
 3         File file = new File(periodicalBaseDir + filePath);//本地资源位置
 4         if (file.exists()) {
 5             response.setContentType("application/force-download");// 设置强制下载不打开
 6             response.addHeader("Content-Disposition",
 7                     "attachment;fileName=" + filePath.split("/")[filePath.split("/").length-1]);// 设置文件名
 8             byte[] buffer = new byte[1024];
 9             FileInputStream fis = null;
10             BufferedInputStream bis = null;
11             try {
12                 fis = new FileInputStream(file);
13                 bis = new BufferedInputStream(fis);
14                 OutputStream os = response.getOutputStream();
15                 int i = bis.read(buffer);
16                 while (i != -1) {
17                     os.write(buffer, 0, i);
18                     i = bis.read(buffer);
19                 }
20             } catch (Exception e) {
21                 e.printStackTrace();
22             } finally {
23                 if (bis != null) {
24                     try {
25                         bis.close();
26                     } catch (IOException e) {
27                         e.printStackTrace();
28                     }
29                 }
30                 if (fis != null) {
31                     try {
32                         fis.close();
33                     } catch (IOException e) {
34                         e.printStackTrace();
35                     }
36                 }
37             }
38         }

 自己之前没有做过在线现在的  项目中用到了  就让大神发了一份代码  看了看  自己研究一下                       

原文地址:https://www.cnblogs.com/zhukaixin/p/9151070.html

时间: 2024-10-04 09:29:47

java 的在线下载文件 .pdf的相关文章

Java 通过 HTTP 下载文件

1. [代码]Download.java   package core.spider; import java.io.*;import java.net.*;import java.util.*; // This class downloads a file from a URL.class Download extends Observable implements Runnable {         // Max size of download buffer.    private st

java 从网上下载文件的几种方式 (转)

package com.github.pandafang.tool; import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.URL;import java.nio.channels.Channels;import java.nio.cha

多线程爬虫Java调用wget下载文件,独立线程读取输出缓冲区

写了个抓取appstore的,要抓取大量的app,本来是用httpclient,但是效果不理想,于是直接调用wget下载,但是由于标准输出.错误输出的原因会导致卡住,另外wget也会莫名的卡住. 所以我采用: 一.独立线程读取输出信息: 二.自己实现doWaitFor方法来代替api提供的waitFor()方法,避免子进程卡死. 三.设置超时,杀死wget子进程,没有正确返回的话,重试一次,并把超时时间加倍: 有了以上操作,wget不会卡死,就算卡住了也会因为超时被干掉再重试一次,所以绝大部分的

Java Web之下载文件

下载的文件,不能随便的被访问,放在外面的文件夹肯定不行,url一敲就能访问了,所以我们要放在WEB-INF文件夹里面,WEB-INF文件夹只有Servlet才能访问,我们新建一个文件夹,叫download里面我放了三个文件,一个zip,一个exe,一个png,如图: 我新建了一个JSP <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <he

java实现FTP下载文件

ftp上传下载文件,是遵照ftp协议上传下载文件的,本例仅以下载文件为例. 重要的方法解释: 1.FTP功能相关依赖路径:org.apache.commons.net.ftp.*: 2.ftp默认端口是21,如果非默认端口连接,需指定:ftp.connect(ftphostaddr, 22);//22为端口号 3.ftp.changeWorkingDirectory(ftppath) //实现切换目录 4.FTPFile[] fs = ftp.listFiles(); 获取指定目录下的文件列表

java 使用流下载文件

public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径. File file = new File(path); // 取得文件名. String filename = file.getName(); // 取得文件的后缀名. String ext = filename.substring(filename.lastIndexOf(".&qu

java将office文档pdf文档转换成swf文件在线预览

java将office文档pdf文档转换成swf文件在线预览 第一步,安装openoffice.org   openoffice.org是一套sun的开源office办公套件,能在widows,linux,solaris等操作系统上执行. 主要模块有writer(文本文档),impress(演示文稿),Calc(电子表格),Draw(绘图),Math(公式),base(数据库) 笔者下载的是openoffice.org 3.3.0.下载完直接安装即可.      但是,我们还需要启动openof

linux在线预览pdf文件开发思路

准备:swftools,flexpaper 基本思路: 1,将pdf文件转化成swf文件 2,使用flexpaper预览swf文件 主要代码: 1,在linux中安装swftools.官网下载swftools 安装包,解压 2,./configure --prefix=安装路径 make install 执行完之后,执行pdf2swf -help 如果显示.说明安装成功 如果执行pdf2swf -help  显示commond not find 的话,可能需要配置swftools的环境变量,具体

java生成excel表格和pdf并实现下载弹出框

今天在pdf和excel中都实现了在浏览器弹出下载框 将之前在网上查找的生成excel表格代码稍微修改下: public class CreateSimpleExcelToDisk { /** * @功能:手工构建一个简单格式的Excel */ private static List<News> getNews() throws Exception { List<News> data = new ArrayList<News>(); NewsDao dao = new