后台PDF返回Base64,前台接收预览
读取已存在的PDF文件,path为绝对路径
string base64String = "";
byte[] buffer=null;
using (FileStream fs = new FileStream(path, FileMode.Open))
{
long fileSize = fs.Length;
buffer = new byte[(int)fileSize];
fs.Read(buffer, , (int)fs.Length);
base64String = Convert.ToBase64String(buffer);
}
//生成base64后删除原文件
if (System.IO.File.Exists(newPdf))
{
System.IO.File.Delete(newPdf);
}
//return File(buffer, "application/ms-pdf", fileName);//返回文件流,前台接收可以直接下载
return Json(new { success = true, pdfBase64String = "data:application/pdf;base64," + base64String });
前台接收处理,接收到的字符串赋值到iframe的src上,由于我用的layui,弹出层可以根据type决定类型,type值为2就是iframe弹出层,所以直接就赋值给弹出层了
function lookInfo(id) {
layer.load();
$.ajax({
url: '/Login/DownLoad',
type: 'post',
data: {id : id},
success: function (data) {
layer.closeAll('loading');
if (data.success) {
layer.open({
title: "信息",
type: ,
area: ['100%', '100%'],
content: data.pdfBase64String
});
} else {
layer.msg(data.msg, { icon: , time: });
}
}, error: function () {
layer.closeAll('loading');
layer.msg('网络错误,请稍后重试', { icon: , time: });
}
})
}
上面后台还注释(橙色字体)了一个返回文件流的方式,这种情况前台直接调用后台路径,就可以下载了。如:
window.open("/Login/DownLoad?id=" + id;
后台PDF返回Base64,前台接收预览的更多相关文章
- Java实现office文档与pdf文档的在线预览功能
最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ...
- input[type=file]上传图片及转为base64码以及预览
<input type="file" id="imgurl" capture="camera" accept="image/ ...
- FileReader 获取图片BASE64 代码 并预览
FileReader 获取图片的base64 代码 并预览 FileReader ,老实说我也不怎么熟悉.在这里只是记录使用方法. 方法名 参数 描述 abort none 中断读取 readAsBi ...
- 微信小程序之base64图片如何预览与一键保存到本地相册?
需求:由于后台服务器各方面的限制,现在服务器返回的图片是base64格式的,小程序端需要支持预览图片和多个图片一键下载功能 一.如何预览base64位图片? WXML页面:item.src的值是bas ...
- 本地与在线图片转Base64及图片预览
查看效果:http://sandbox.runjs.cn/show/tgvbo9nq 本地图片转Base64(从而可以预览图片): function localImgLoad() { var src ...
- 用FileReader对象获取图片base64代码并预览
MDN中FileReader的详细介绍: https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader 用FileReader获取图片base ...
- pdf.js实现图片在线预览
项目需求 前段时间项目中遇到了一个模块,是关于在线预览word文档(PDF文件)的,所以,找了很多插件,例如,pdf.js,pdfobject.js框架,但是pdfobject.js框架对于IE浏览器 ...
- js获取base64格式图片预览上传并用php保存到本地服务器指定文件夹
html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- 使用pdf.js在移动端预览pdf文档
pdf.js 是一个技术原型主要用于在 HTML5 平台上展示 PDF 文档,无需任何本地技术支持. 在线演示地址:http://mozilla.github.com/pdf.js/web/viewe ...
随机推荐
- onmouseover和onmouseout鼠标移入移出切换图片的几种实现方法
鼠标移入移出图片切换很常见的,那我们就来说说他的写法 第一种方法,也是最简单的一种,在html:里就可实现 <img class="img" src="img/do ...
- Web 与 Node 基础
浏览器端发送请求(browser) 浏览器或者模拟发送 http 请求端 服务端处理请求(web) 服务器(使用 node ) 2.1. 使用 Forever 管理程序 2.2. 可以使用 PM2 代 ...
- RAC & MVVM 学习资料整理
最后更新:2017-01-23 参考链接: MVVM奇葩说 MVVM 介绍 Model-View-ViewModel for iOS [译] 唐巧--被误解的 MVC 和被神化的 MVVM React ...
- es之IK分词器
1:默认的分析器-- standard 使用默认的分词器 curl -XGET 'http://hadoop01:9200/_analyze?pretty&analyzer=standard' ...
- Retrotranslator使用简介(JDK1.5->1.4)
Retrotranslator是一个可以把JDK1.5(6)下编译的类(或包)转译成JDK1.4下可以识别的类(包)的工具. 为现在还用JDK1.4呢?我想无非是现在的大部分Java Web应用是 ...
- leetcode-mid-Linked list- 116. Populating Next Right Pointers in Each Node
mycode 93.97% """ # Definition for a Node. class Node(object): def __init__(self, v ...
- windows传输文件到linux脚本
安装pscp https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html cmd脚本 @echo off rem 拷贝的文件名称 se ...
- 001-spring boot概述与课程概要
一.Spring Boot介绍 Spring Boot的目的在于创建和启动新的基于spring框架的项目.Spring boot会选择最适合的Spring 子项目和第三方开源库进行整合.大部分Spri ...
- Oracle数据备份与恢复
为了保证数据库的高可用性,Oracle数据库提供了备份和恢复机制,以便在数据库发生故障时完成对数据库的恢复操作,避免损失重要的数据资源 丢失数据分为:物理丢失:操作系统的数据库主键(数据文件.控机文件 ...
- 测开之路一百一十一:bootstrap表单
bootstrap表单 引入bootstrap和jquery 默认表单 垂直表单 表单属性绑定:for属性,当for的属性和id的属性相同时,单击for标签,光标自动跳到相同属性的输入框 复选框 水平 ...