html文件上传保存-(.html and string translate into .html )
//上传h5编辑器编辑的html内容
uploadHtml(newsId?: any) {
const news = newsId !== undefined ? newsId : 'new';
let uploadFile = this.dataURLtoBlob(`data:text/html;base64,${new Buffer(this.newsInfo.content).toString('base64')}`) ;
let form = new FormData();
form.append(`news_${news}.html`, uploadFile , `news_${news}.html`);
return this.smartrecService.uploadFile(form, 'html');
} //将h5编辑器编辑好的html内容组装成blob对象
dataURLtoBlob(dataurl: string) {
const arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]);
let n = bstr.length;
const u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: mime });
} //通过contentId获取h5编辑器编辑的html内容,并转化为字符串
getHtml(contentId: any): void {
const url = this.smartrecService.getContentUrlById(contentId);
let xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.responseType = "arraybuffer";
xhr.send();
xhr.onreadystatechange = function() {
if ( xhr.readyState == 4 && xhr.status == 200 ) {
const htmlBuffer = new Buffer(new Uint8Array(xhr.response));
const htmlStr = htmlBuffer.toString();
try {
JSON.parse(htmlStr);
} catch(e) {
this.newsInfo.content = htmlStr;
}
}
}.bind(this);
}
html文件上传保存-(.html and string translate into .html )的更多相关文章
- struts2文件上传(保存为BLOB格式)
html文件:提供上传文件的入口 <input type="file" name="upload"><!-- name很重要,与后面actio ...
- ThinkPHP上传返回 “文件上传保存错误!”
这个问题,最终的由于 Local.class.php中的iconv('utf-8', 'gb2312' ,$filename)的问题 因为我上传的文件名中有 "-" 这个符号. i ...
- extjs采用fileupload进行文件上传后台实现
前台js: form: Ext.define("GS.base.BasicImportForm",{ extend:"Ext.form.Panel", ...
- struts2实现文件上传(多文件上传)及下载
一.要实现文件上传,需在项目中添加两个jar文件 二.上传准备的页面 注:必须植入enctype="multipart/form-data"属性,以及提交方式要设置成post &l ...
- THINKPHP源码学习--------文件上传类
TP图片上传类的理解 在做自己项目上传图片的时候一直都有用到TP的上传图片类,所以要进入源码探索一下. 文件目录:./THinkPHP/Library/Think/Upload.class.php n ...
- Struts2文件上传和文件下载
一.单个文件上传 文件上传需要两个jar包: 首先制作一个简单的页面,用于实现文件上传 <h1>单个文件上传</h1> <s:form action="uplo ...
- Struts2 文件上传和文件下载
一.单个文件上传 文件上传需要两个jar包: 首先制作一个简单的页面,用于实现文件上传 <h1>单个文件上传</h1> <s:form action="uplo ...
- ASP.NET MVC下使用文件上传
这里我通过使用uploadify组件来实现异步无刷新多文件上传功能. 1.首先下载组件包uploadify,我这里使用的版本是3.1 2.下载后解压,将组件包拷贝到MVC项目中 3. 根目录下添加新 ...
- 文件上传&文件下载
一.单个文件上传 文件上传需要两个jar包: 首先制作一个简单的页面,用于实现文件上传 <h1>单个文件上传</h1> <s:form action="uplo ...
随机推荐
- 打开fiddler后无法访问网络问题
https://jingyan.baidu.com/article/f54ae2fc680be81e92b849ed.html 导入证书后,还有一步易遗漏操作: 再次运行fiddler,依次点击Too ...
- 开源虚拟化KVM(二)管理虚拟存储
五,管理虚拟存储 5.1 虚拟磁盘概述 5.1.1 虚拟化项目中存储的注意事项 [x] 存储的性能几乎总是虚拟化的瓶颈 [x] 通过多个硬盘驱动以分布磁盘I/O来实现存储解决方案 [x] 考虑部署集中 ...
- my.conf配置信息
# mysql conf /etc/my.cnf# Created by http://www.wdlinux.cn# Last Updated 2010.06.01 [client]port = 3 ...
- chm制作及Haroopad使用(makedown工具)
所需工具 1.网文快捕(可以制作chm的工具,在IE浏览起立可以右键把复制内容保存到软件里) 下载地址:http://www.05sun.com/downinfo/278913.html 2.Haro ...
- 记录下本地修改php版本的过程, 本地PHP目录位置,PHP-FPM目录位置
由于我在Cellar下安装了多个PHP版本,所以这里记录下如何修改本地的PHP版本 cd /usr/local/bin cp php71 php cp php71-fpm php-fpm vscode ...
- pytho命名规范
1变量小写 多个单词 下划线 2 常量 全大写 3
- Git那些事儿
Git是目前世界上最先进的分布式版本控制系统,适合多人协作开发的大型项目.我平常也经常使用git,来管理自己的几个小项目.简单说说git的原理和git的特点!(只有知道了一个工具的运行原理,设计思路, ...
- $.ajax()参数详解
来自于<锋利的jQuery(第2版)>. 参数 类型 说明 accepts Map 内容类型发送请求头,告诉服务器什么样的响应会接受返回. 如果accepts设置需要修改,推荐在$.aja ...
- C#编码问题以及C#往Mysql插数据编码问题
C#将字符转换成utf8编码 GB321编码转换 public static string get_uft8(string unicodeString) { UTF8Encoding utf8 = ...
- 非root用户启动redis容器报错mkdir: cannot create directory '/bitnami/redis': Permission denied
问题:使用docker启动容器时,报错如下 zh@debian:~/testPath$ docker-compose up redis Starting testpath_redis_1 ... do ...