0

使用数据 uri 在客户端创建文件有一个技巧。例如,要创建一个 MS PowerPoint,您可以执行类似的操作

<a href="data:application/vnd.openxmlformats-officedocument.presentationml.presentation;base64,UEsDBBQACAAIAGeGhT8AAAAAAAAAAAAAAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbM2ay27bMBBF9wX6D4K2hUWbbtO0sJNFH6s+AiT9AFYa22wlkiBpN/77UnLaKEFsiNUQnY1smZw7B0MNLwFrcXnb1NkOrJNaLfNZMc0zU..."  download="jones6.pptx"> Test File 3 </a>

可以在 URL 中指定的唯一数据是文件的 base64 还是二进制表示?是否可以表达文件的任何其他表示?

4

2 回答 2

3

支持 Base64 编码和纯内容。例如,您也可以使用 HTML:

    <a href="data:text/html;charset=UTF-8,%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3Ctitle%3ETest%3C%2Ftitle%3E%3C%2Fhead%3E%3Cbody%3E%3Ch3%3EIt%20works!%3C%2Fh3%3E%3C%2Fbody%3E%3C%2Fhtml%3E">Click Here!</a>

您应该看到“它有效!” 点击链接后。(适用于 Firefox 和 Chrome,有关兼容性表,请参阅http://caniuse.com/datauri)要生成可以填充到数据 URI 中的纯内容,您需要使用encodeURIComponentJavaScript 或rawurlencodePHP 之类的东西。

于 2012-08-28T14:51:10.030 回答
0

数据协议的语法如下:

data:[sMediaType;][sBase64Encoding;],sResourceData

https://msdn.microsoft.com/library/cc848897

如您所见,非 base64 编码没有任何选项。

于 2012-08-28T14:46:13.107 回答