[英]VueJS decode base64 html string
为了实现可上传的 HTML 文件的实时预览,我需要帮助解码 base64 字符串。
当我将文件传递给输入元素并使用FileReader()
读取它时,我得到一个 base64 编码字符串。
我需要做什么才能将其转换为 HTML/TXT?
我已经找到了一些关于解码图片的东西,不幸的是这对我没有帮助。
handleFileUpload() {
this.file = this.$refs.file.files[0];
let reader = new FileReader();
reader.addEventListener("load", function() {
this.html = atob(reader.result);
}.bind(this), false);
reader.readAsDataURL(this.file);
},
Output:
data:text/html;base64,PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiDQp4bWxuczpvPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiDQp4bWxuczp4PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCINCnhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUyIj4NCjxtZXRhIG5hbWU9UHJvZ0lkIGNvbnRlbnQ9RXhjZWwuU2hlZXQ+DQo8bWV0YSBuYW1lPUdlbmVyYXRvciBjb250ZW50PSJNaWNyb3NvZnQgRXhjZWwgMTUiPg0KPGxpbmsgaWQ9TWFpbi1GaWxlIHJlbD1NY......
而不是readAsDataURL
,您应该使用readAsText
,以便您获取文本而不是 blob。
handleFileUpload() {
this.file = this.$refs.file.files[0];
let reader = new FileReader();
reader.addEventListener("load", function() {
this.html = reader.result;
}.bind(this), false);
reader.readAsText(this.file);
},
您可以通过将结果放入 html object 中来预览您的 html 文件和 Math Ellen 的回答:
<object type="text/html"
data="file.html"
width="250"
height="200">
</object>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.