javascript - VueJS解码base64 html字符串

标签 javascript vue.js base64

为了实现可上传 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);
        },

输出:
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);
        },

关于javascript - VueJS解码base64 html字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58731866/

相关文章:

android - base64 无效 key 异常 : Key length not 128/192/256 bits

php - 在 Laravel 中使用 Vue 组件

javascript - JS - 当用户不在应用程序上时虚拟宠物进化

vue.js - Vue js 路由器- View 选择

Javascript 对象属性值根据其显示方式而有所不同

ios - Base 64 编码 Objective-C

base64 - Base64 编码的 BSON 比 BSON 小吗?

javascript - get_the_category() 在 <figcaption> 内不起作用

javascript - 如何使用 React-native-element 复选框和 FlatList React Native 处理从 json 获取的复选框?

javascript - 使用 React 和 setTimeout 更新 <canvas/>