将文件读取到 blob 并以 JavaScript 格式显示
Read file to blob and display in javascript
所以我正在尝试创建一个功能的基本原型。从本质上讲,最终目标是接收 Base64 编码字符串和支持 mime 类型,并生成文件并从 HTML 5 应用程序提供它。现在,我正在简单地获取一个文件,将其转换为 Blob,然后显示它,所有这些都来自内存。
var blobfile = atob(base64);
window.blobFromBlob = new Blob([binaryString], {
type: MIMEType
});
window.blobURL = URL.createObjectURL(window.blobFromBlob);
var a = "<a href='"" + window.blobURL + "'">Binary Blob Link</a>";
document.getElementById('byte_content').innerHTML = a;
我创建了一个 JSFiddle 来显示我遇到的问题。当我把,比如一个JPEG,放入它,然后尝试提供它时,img标签显示损坏的图像。我从没想过 Base64 blob 会起作用,但二进制 blob 和 base 64 中的 blob 我确实希望工作。
谁能看出我哪里出了问题?
谢谢!
注意:我设法通过从readAsBinaryString
更改为readAsArrayBuffer
来显示二进制
注2:我开始怀疑它与atob
和btoa
因此,
如果其他人偶然发现这一点并发现它很有用,我能够在这篇 stackoverflow 文章的帮助下解决这个问题。解决方案涉及将readAsBinaryString
保留为文件读取方法。使用 btoa
创建 Base64 字符串b64toBlob
然后使用上述堆栈溢出文章中的函数。
这是调整后的 JSFiddle,以显示我是如何让它工作的。
https://jsfiddle.net/ajwhiteway/vstj3bcm/1/
相关文章:
- Javascript格式UTC日期
- 将数组从javascript格式化为php的更好方法,反之亦然
- 将数组转换为javascript格式的字符串
- 如何比较 JavaScript 格式为 2011-jan-21 的两个日期
- 记事本++ Javascript格式样式和变量列表
- Javascript格式时间军用am pm从字符串
- JavaScript格式的对象数组嵌套到子对象中
- 将日期导出为Javascript格式
- 获取 PHP 或 JavaScript 格式的 YouTube 视频提要
- 如何将当前时间与使用 Javascript 格式化为字符串的时间范围进行比较
- Javascript格式不带时区的日期
- 将 UTC 日期格式转换为 JavaScript 格式
- 将文件读取到 blob 并以 JavaScript 格式显示
- 使用具有有效 JavaScript 格式的 Json.NET 序列化对象
- HTML 表单不会以 JavaScript 格式提交
- Onedrive cors 以 JavaScript 格式下载
- 计算两个给定时间的以毫秒为单位的时间差;DD/MM/YYYY HH:MM:ss:ms”;javascript格式
- Javascript格式日期
- 在responsd_to中使用javascript格式时ActionController::UnknownFormat
- Javascript格式错误