【发布时间】:2019-07-27 03:44:43
【问题描述】:
我的目标是使用 HTML5 的<a download> 标签/属性中的data URI 生成一个带有换行符的文本文件。目前换行符似乎被忽略了。
以下是使用download 的HTML5 属性的示例,其中输出是带有链接的HTML 文件。单击时,该链接可用于打开或保存文件。
用PHP生成这样一个下载链接的例子:
<?php
//generate a string line with line breaks
//i.e. using PHP:
//where PHP_EOL is "The correct 'End Of Line' symbol for current platform"
$content = "line" . PHP_EOL . "line";
?>
<a download="a.txt" href="data:text/plain;utf8,<?=$content?>">Download</a>
尽管字符串中有换行符,但目前我的输出是:
lineline
当预期的输出是:
line
line
使用 HEX 检查字符串,它确实有字符 0A 0D,代表 CR 和 LF,所以它们确实在 <a download> 标记之前。
有没有办法强制在下载的文件中看到换行符?
如果不是,这是 HTML 的 download 标签的限制吗?
【问题讨论】:
-
在没有
download属性的情况下是否可以正常工作(例如,直接在浏览器中输入dataURI 时)?如果不是,我猜问题是关于dataURI,而不是download属性,对吧? -
没有
download属性,它仍然将所有内容放在一行上,吃掉换行符,所以是的。
标签: html line-breaks data-uri plaintext