如何将换行符添加到数据:text/plain URI?
How can line breaks be added to a data:text/plain URI?
我的目标是使用 HTML5 的 <a download>
tag/attribute 中的 data
URI 生成一个带有换行符的文本文件。目前换行符似乎被忽略了。
下面是使用 download
的 HTML5 属性的示例,其中输出是带有 link 的 HTML 文件。单击时,link 可用于打开或保存文件。
使用 PHP 生成此类下载的示例 link:
<?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
使用十六进制检查字符串,它确实有字符 0A 0D
,代表 CR 和 LF,因此它们确实在 <a download>
标记之前。
有没有办法强制在下载的文件中看到换行符?
如果不是,这是 HTML 的 download
标签的限制吗?
您在哪个程序中打开文件?是记事本吗?这可能是个问题...
以下是"Hello\nWorld"
<a download="foo.txt"
href="data:text/plain;base64,aGVsbG8Kd29ybGQ=">
Download
</a>
我的目标是使用 HTML5 的 <a download>
tag/attribute 中的 data
URI 生成一个带有换行符的文本文件。目前换行符似乎被忽略了。
下面是使用 download
的 HTML5 属性的示例,其中输出是带有 link 的 HTML 文件。单击时,link 可用于打开或保存文件。
使用 PHP 生成此类下载的示例 link:
<?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
使用十六进制检查字符串,它确实有字符 0A 0D
,代表 CR 和 LF,因此它们确实在 <a download>
标记之前。
有没有办法强制在下载的文件中看到换行符?
如果不是,这是 HTML 的 download
标签的限制吗?
您在哪个程序中打开文件?是记事本吗?这可能是个问题...
以下是"Hello\nWorld"
<a download="foo.txt"
href="data:text/plain;base64,aGVsbG8Kd29ybGQ=">
Download
</a>