后台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 ...
随机推荐
- macOS搭建Hugo
Hugo 是一个用Go语言编写的静态网站生成器.类似的静态网站生成器还有Jekyll.hexo等等. Hugo官方主页:https://gohugo.io/ 1.安装homebrew: https:/ ...
- VS2019界面透明、主题修改和导出设置
目录 安装插件Color Theme Editor for Visual Studio 2019和ClaudiIDE 导入主题 背景修改 效果预览 导出设置遇到错误924 其他帮助文档 我自己用的主题 ...
- WEB编程 入门简单 进阶难
其实不论是WEB还是其他什么编程,都是这个道理,至于为什么,我贴几段代码,大家感受下. JS 计算今天是星期几 入门级 // 计算系统当前是星期几 var str =""; var ...
- SQL读取表中不重复字段
通关关键字 distinct 将AlbumName字段中所以不重复的内容读出来.
- flask的请求上下文request对象
Flask从客户端收到请求时,要让视图函数能访问请求对象request ,才能处理请求.我们可以将request对象作为参数传到试图函数里,比如: from flask import Flask, r ...
- SQL数据库字段添加说明文字
1.查看指定表中的所有带说明文字的字段内容 SELECT *,OBJECT_NAME(major_id) AS obj_name FROM sys.extended_properties WHERE ...
- centos7安装kafka
1.官网或 wget 下载 kafka_2.12-2.2.0.tgz 二进制代码包 cd /home/tar wget http://mirror.bit.edu.cn/apache/kafka/2. ...
- python值的引用传递和go语言的值传递
一:值传递 实参a 原本指向地址 1638212,代表1638212这个地址的值是3.在swap函数中,实参a将值拷贝给形参a,形参a此时也在内存中拥有地址,地址= xxxx,值为3,在所有的函数体内 ...
- 《图解设计模式》读书笔记5-2 decorator模式
目录 代码演示 模式的角色和类图 思路拓展 Decorator模式即装饰器模式,就是对类进行装饰,下面通过代码说明. 代码演示 代码展示的内容 有一个类StringDisplay:表示一句话,比如he ...
- Java Bean 使用包装类型 还是基本类型
参考:实体类中用基本类型好,还是用包装类型好_ - 牵牛花 - 博客园 int优缺点 优点: 1.用于Bean的时候,有默认值.比如自己拼接sql增加一个User时,会方便很多,不过现在都用ORM框架 ...