小编Ben*_*ell的帖子

可以将原始二进制数据存储在单个 HTML 文件中吗?

我正在尝试以单个 .html 文件的形式创建一个自解压存档(而不是更传统的 .exe 文件)。换句话说,一个 .html 文件中嵌入了另一个文件(任何类型)。

这是一个非常简单的 .html 文件示例,它正是执行此操作。它有一个链接,单击该链接即可从源中硬编码的 Base 64 编码字符串生成并下载 .png 文件。这可以很容易地扩展以处理任何类型的文件。

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>Self-Extracting Archive</title>
</head>

<body>
    <a href="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
        download>Save File</a>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

问题是 base 64 效率不高。是否可以将文件编码为纯二进制文件?我知道如果有可能的话,它可能会很hacky。没关系,只要它能够兼容所有主流浏览器即可。

我认为类似的东西File.getAsBinary()可能会起作用。如果它可用(但实际上不可用),您可以将二进制文件附加到 .html 文件的末尾,然后以某种方式说服浏览器不要解析文件的该部分。

html javascript

5
推荐指数
0
解决办法
1367
查看次数

标签 统计

html ×1

javascript ×1