pdfjs跨域展示远程pdf文件
标签:
•
文件类型: .zip
•
文件大小: 6.3MB
•
下载次数: 1
•
需要从公司文服直接展示pdf,折腾了大半天,网上查了各种资料,都比较坑,自己看官方demo写了一个springboot的demo,下载后修改pdf的地址可以直接运行,完美实现pdf跨域显示
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-03-26 16:36 honso_springboot_test
文件 15 2017-09-12 14:38 honso_springboot_test.gitignore
目录 0 2018-03-26 16:41 honso_springboot_test.idea
目录 0 2018-03-26 16:25 honso_springboot_test.ideaartifacts
文件 329 2017-12-11 11:22 honso_springboot_test.ideaartifactshonso_springboot_demo_war.xml
文件 5820 2018-03-26 16:25 honso_springboot_test.ideaartifactshonso_springboot_demo_war_exploded.xml
文件 561 2017-12-11 11:22 honso_springboot_test.ideacheckstyle-idea.xml
文件 654 2017-12-11 11:22 honso_springboot_test.ideacompiler.xml
文件 172 2017-12-11 11:22 honso_springboot_test.ideaencodings.xml
目录 0 2018-03-26 15:33 honso_springboot_test.ideainspectionProfiles
文件 262 2018-03-26 15:33 honso_springboot_test.ideainspectionProfilesProject_Default.xml
目录 0 2018-03-26 16:25 honso_springboot_test.idealibraries
文件 575 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__ch_qos_logback_logback_classic_1_1_11.xml
文件 554 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__ch_qos_logback_logback_core_1_1_11.xml
文件 594 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__commons_beanutils_commons_beanutils_1_9_3.xml
文件 543 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__commons_codec_commons_codec_1_10.xml
文件 616 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__commons_collections_commons_collections_3_2_2.xml
文件 525 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__commons_dbcp_commons_dbcp_1_4.xml
文件 503 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__commons_io_commons_io_2_6.xml
文件 525 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__commons_pool_commons_pool_1_6.xml
文件 514 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_alibaba_fastjson_1_2_20.xml
文件 522 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_fasterxml_classmate_1_3_3.xml
文件 644 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml
文件 595 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_fasterxml_jackson_core_jackson_core_2_8_8.xml
文件 623 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_fasterxml_jackson_core_jackson_databind_2_8_8.xml
文件 511 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_itextpdf_itextpdf_5_5_7.xml
文件 538 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_itextpdf_tool_xmlworker_5_5_7.xml
文件 546 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_jayway_jsonpath_json_path_2_2_0.xml
文件 700 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml
文件 593 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__it_sauronsoftware_jave_sauronsoftware_1_0_2.xml
文件 611 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__javax_validation_validation_api_1_1_0_Final.xml
............此处省略1429个文件信息
package com.honso.files.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import sun.misc.base64Encoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
/**
* @Depict 描述 前端跳转的Controller类
* @Author lizhen
*/
@Controller
@Slf4j
public class StartupController {
/**
* 跳到默认页面
*/
@RequestMapping(“/“)
public String index(HttpServletRequest request HttpServletResponse response) {
return “index“;
}
/**
* 获取pdf数据,从远程端获取InputStream并转换成base64字符串
*/
@RequestMapping(value = “/getData“ method = RequestMethod.GET)
@ResponseBody
public String getData(String param) {
InputStream inputStream = null;
try {
String strUrl = param.trim();
URL url = new URL(strUrl);
//打开请求连接
URLConnection connection = url.openConnection();
HttpURLConnection httpURLConnection = (HttpURLConnection) connection;
httpURLConnection.setRequestProperty(“User-Agent“ “Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)“);
// 取得输入流,并使用Reader读取
inputStream = httpURLConnection.getInputStream();
} catch (IOException e) {
log.error(““ e);
}
return pdfToBinary(inputStream);
}
base64Encoder encoder = new sun.misc.base64Encoder();
/**
* 将PDF转换成base64编码
* 1.使用BufferedInputStream和FileInputStream从File指定的文件中读取内容;
* 2.然后建立写入到ByteArrayOutputStream底层输出流对象的缓冲输出流BufferedOutputStream
* 3.底层输出流转换成字节数组,然后由base64Encoder的对象对流进行编码
*/
private String pdfToBinary(InputStream fin) {
BufferedInputStream bin = null;
ByteArrayOutputStream baos = null;
BufferedOutputStream bout = null;
try {
//在文件输出流上安装节点流(更大效率读取)
bin = new BufferedInputStream(fin);
// 创建一个新的 byte 数组输出流,它具有指定大小的缓冲区容量
baos = new ByteArrayOutputStream();
//创建一个新的缓冲输出流,以将数据写入指定的底层输出流
bout = new BufferedOutputStream(baos);
byte[] buffer = new byte[1024];
int len = bin.read(buffer);
while (len != -1) {
bout.write(buffer 0 len);
len = bin.read(buffer);
}
//刷新此输出流并强制写出所有缓冲的输出字节,必须这行代码,否则有可能有问题
bout.flush();
byte[] bytes = baos.toByteArray();
//sun公司的API
ret
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-03-26 16:36 honso_springboot_test
文件 15 2017-09-12 14:38 honso_springboot_test.gitignore
目录 0 2018-03-26 16:41 honso_springboot_test.idea
目录 0 2018-03-26 16:25 honso_springboot_test.ideaartifacts
文件 329 2017-12-11 11:22 honso_springboot_test.ideaartifactshonso_springboot_demo_war.xm
文件 5820 2018-03-26 16:25 honso_springboot_test.ideaartifactshonso_springboot_demo_war_exploded.xm
文件 561 2017-12-11 11:22 honso_springboot_test.ideacheckst
文件 654 2017-12-11 11:22 honso_springboot_test.ideacompiler.xm
文件 172 2017-12-11 11:22 honso_springboot_test.ideaencodings.xm
目录 0 2018-03-26 15:33 honso_springboot_test.ideainspectionProfiles
文件 262 2018-03-26 15:33 honso_springboot_test.ideainspectionProfilesProject_Default.xm
目录 0 2018-03-26 16:25 honso_springboot_test.idealibraries
文件 575 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__ch_qos_logback_logback_classic_1_1_11.xm
文件 554 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__ch_qos_logback_logback_core_1_1_11.xm
文件 594 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__commons_beanutils_commons_beanutils_1_9_3.xm
文件 543 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__commons_codec_commons_codec_1_10.xm
文件 616 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__commons_collections_commons_collections_3_2_2.xm
文件 525 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__commons_dbcp_commons_dbcp_1_4.xm
文件 503 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__commons_io_commons_io_2_6.xm
文件 525 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__commons_pool_commons_pool_1_6.xm
文件 514 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_alibaba_fastjson_1_2_20.xm
文件 522 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_fasterxm
文件 644 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_fasterxm
文件 595 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_fasterxm
文件 623 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_fasterxm
文件 511 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_itextpdf_itextpdf_5_5_7.xm
文件 538 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_itextpdf_tool_xm
文件 546 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_jayway_jsonpath_json_path_2_2_0.xm
文件 700 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xm
文件 593 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__it_sauronsoftware_jave_sauronsoftware_1_0_2.xm
文件 611 2017-12-11 11:22 honso_springboot_test.idealibrariesMaven__javax_validation_validation_api_1_1_0_Final.xm
............此处省略1429个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)