asp.net 生成word,处理图片,富文本框内容图片处理
//基本导出方法
public void Download()
{
Random rd = new Random();
string fileName = DateTime.Now.ToString("yyyyMMddhhmm") + rd.Next() + ".doc";
//存储路径
string path = Server.MapPath(fileName);
//创建字符输出流
StreamWriter sw = new StreamWriter(path, true, System.Text.UnicodeEncoding.UTF8);
//需要导出的内容
// string str = "<html><head><title>无标题文档</title></head><body>这里放从数据库导出的word文档内容</body></html>";
string str = "";
str += "<html><head><title>无标题文档</title></head><body>";
str += "<div>阅读报表</div>";
str += "<table border='1'><tr>";
str += "<td>20000</td>";
str += "<td>10000</td></tr><tr>";
str += "<td>30000</td>";
str += "<td>30000</td><tr>";
str += "</table></body></html>";
//写入
sw.Write(str);
sw.Close();
Response.Clear();
Response.Buffer = true;
this.EnableViewState = false;
Response.Charset = "utf-8";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "application/octet-stream";
Response.WriteFile(path);
Response.Flush();
Response.Close();
Response.End();
}
//图片处理方法 图片转字节 base64 放到img src 中 如 <img src="data:image/jpeg;base64,ImgToBase64String(string Imagefilename)) />
private string ImgToBase64String(string Imagefilename)
{
string result = "";
try
{
using (FileStream fs = new FileStream(Imagefilename,FileMode.Open,FileAccess.Read))
{
byte[] byteArray = new byte[fs.Length];
fs.Read(byteArray, 0, byteArray.Length);
result = Convert.ToBase64String(byteArray);
}
}
catch
{
result = "";
}
return result;
}
/// <summary>
/// 富文本框 内容里面的 图片处理
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
public string ContentHandler(string text)
{
if (string.IsNullOrEmpty(text))
{
return text;
} HtmlDocument document = new HtmlDocument();
document.LoadHtml(text);
var imgNodes = document.DocumentNode.SelectNodes("//img");
if (imgNodes != null)
{
Parallel.ForEach(imgNodes, imgNode =>
{
var src = imgNode.GetAttributeValue("src", "");
if (!string.IsNullOrEmpty(src))
{
var filename = context.Server.MapPath(src);
if (File.Exists(filename))
{
imgNode.SetAttributeValue("src", "data:image/jpeg;base64," + ImgToBase64String(filename)); }
}
});
} return document.DocumentNode.OuterHtml; }
asp.net 生成word,处理图片,富文本框内容图片处理的更多相关文章
- LAYUI layedit 富文本框内容的取值
js 1.第一种方法 2.第二种方法
- kindeditor富文本框,上传文件后,显示文件名称
kindeditor作为一个应用广泛富文本框,我们经常会利用到它,然而在使用的过程中,发现有的地方使用起来很不方便,例如本文要说的,用户上传文件之后,默认只有文件URL,没有文件说明,如图: 点击确定 ...
- 常用的富文本框插件FreeTextBox、CuteEditor、CKEditor、FCKEditor、TinyMCE、KindEditor ;和CKEditor实例
http://www.cnblogs.com/cxd4321/archive/2013/01/30/2883078.html 目前市面上用的比较多的富文本编辑器有: FreeTextBox 一个有很多 ...
- Android 富文本框实现 RichEditText
Android系统自带控件没有富文本框控件,如果想写一封带格式的邮件基本上不可能,EdtiText只有默认一种格式,显示不能滿足要求,!!正好项目需要研究了一下,开发了此控件,现将一些源代码开放一下, ...
- Extjs4.2x与富文本框编辑器KindEditor的整合
Extjs4本身的HtmlEditor编辑器,太鸡肋了,简单的html能够应付一下,稍加复杂的就无能为力了. 对于Extjs的HtmlEditor扩展主要有三个方向,一个是扩展其本身的htmlEdit ...
- django(7)modelform操作及验证、ajax操作普通表单数据提交、文件上传、富文本框基本使用
一.modelForm操作及验证 1.获取数据库数据,界面展示数据并且获取前端提交的数据,并动态显示select框中的数据 views.py from django.shortcuts import ...
- ASP.NET MVC实现layui富文本编辑器应用
先看看视图层 在视图层,使用的是视图助手--HtmlHelper,代替我们网页中传统的表单标签元素,其中的m代表实体模型.通过视图助手,为我们生成id和name属性相同的textarea标签. 备注: ...
- 使用kindeditor获取不到富文本框中的值
获取不到富文本框中的值,网上一搜一堆,但最终没有几个能解决问题的,折腾一番最终解决.注意就是红色代码,加上之后就可以解决问题了. KindEditor.ready(function (K) { var ...
- ASP输出生成Word 、Excel、Txt文件的方法
在ASP中生成Word文件.Excel文件和Txt文件,参考了微软的官方文档,自己简单弄了下,基本可以实现了,不足之处,望指导!下面言归正传. 1.用ASP生成Word文档,代码示例: 01 < ...
- ASP.NET生成WORD文档,服务器部署注意事项
网上转的,留查备用,我服务器装的office2007所以修改的是Microsoft Office word97 - 2003 文档这一个. ASP.NET生成WORD文档服务器部署注意事项 1.Asp ...
随机推荐
- AtCoder ABC 206
比赛链接:Here AB水题,跳过 C - Swappable 在数组中找到满足条件的数对 \((i,j)\) \(1 \le i < j \le N (N\in[2,3e5])\) \(A_i ...
- JVM简单概述
一.内存模型&分区 Java虚拟机在运行Java程序时,会管理着一块内存区域:运行时数据区 在运行时数据区里,会根据用途进行划分为以下模块: 1.Java虚拟机栈 2.本地方法栈 3.Java ...
- Java面试——框架知识点
Spring 概念 spring是个java企业级应用的开源框架.spring主要用来开发java应用,但是有些扩展是针对J2EE平台的文本应用.Spring框架目标是简化java企业级应用的开发,并 ...
- 解决JedisConnectionException的方法
使用maven连接redis,报JedisConnectionException错误,如下: 解决方案: 找到对应启动的redis.conf文件 1.设置bind配置,已注释 2.设置protecte ...
- 每天学五分钟 Liunx 0001 | 存储篇:swap
swap swap ,内存交换空间,它是磁盘上的一块空间,主要作用是为了防止物理内存不足. CPU 从内存中读取数据.当内存的空间不足时, CPU 难以读取到数据,导致程序无法正常工作.所以诞生了 s ...
- Spring 事务失效场景总结
本文为博主原创,未经允许不得转载: 1. spring的事务注解@Transactional只能放在public修饰的方法上才起作用,如果放在其他非public(private,protected)方 ...
- 【C】C语言头文件互锁和包含问题
[来源] https://mp.weixin.qq.com/s/4tPHkwEd5n-xHNHJHtCoBw
- 【css】 text-align 居中导航
原理 :利用 inline-block 将 导航 作为 文本 , 被外层具有 text-align 属性的导航盒子包含 .从而实现居中效果 1. html 结构 <header> < ...
- [转帖]在麒麟Linux安装Postgis
https://jimolonely.github.io/tech/linux/install-postgis-kylin/ 接着上一篇在麒麟linux上安装Postgresql12.5 ,我们来安装 ...
- [转帖]chrome历史版本及重大变化(维基百科)
Google Chrome是Google LLC开发的免费 网络浏览器.开发过程分为不同的"发布渠道",每个发布渠道都在单独的开发阶段进行构建.Chrome提供了4种渠道:稳定版, ...