【问题标题】:download file adds trailing blank lines下载文件添加尾随空行
【发布时间】:2015-12-01 13:30:58
【问题描述】:

在我当前的 laravel 项目中,我正在尝试从特定位置下载 csv 文件

一切正常,但下载的文件开头有两个额外的空白行

我也用文本文件测试了而不是csv。结果是一样的。

我也试过简单的php文件下载它也一样。

需要一些紧急建议

$file = public_path()."/Salesdata.csv"; 

return Response::download($file,"new.csv");

【问题讨论】:

  • 更新您的问题以包含生成文件的代码。很可能这就是问题所在。
  • 是否也包含一个 Salesdata.csv 文件开头的屏幕截图?
  • 因此 salesdata.csv 或任何其他文本文件是手动创建的。因此,只需考虑一个带有一行字符串的纯文本文件。但是当我使用响应下载它时,添加了两条额外的尾随行。我也尝试了标题

标签: php csv download


【解决方案1】:

这样试试。 Trim 应该删除变量开头和结尾的尾随空格。

$file = public_path()."/Salesdata.csv";

return trim(Response::download($file,"new.csv"));

正如@Alex_Andrei 所说,这还将修剪标题和 Reponse::download 返回的所有内容。你可以试试这个,这可能是标题的问题。

$headers = array('Content-Type: application/csv');
$file = public_path()."/Salesdata.csv";
return Response::download($file,"new.csv",$headers);

【讨论】:

  • 这不会修剪实际响应,包括标题和所有内容,同时保持csv 的内容完整吗?
  • True .. 我要编辑我的答案,我认为这可能是标题的问题。
  • 这都是假设,直到我们确定这些行不是写在 csv 本身中
  • 我同意!并感谢您指出 trim 实际上会修剪 Reponse::download 返回的所有内容
  • trim 不会做任何事情,因为原始文件是正确的,因为它是手动创建的。我也尝试了标题的东西,但它在那里没有任何效果。所以只是一个简单的事情,想要从一个位置下载文件,并且正在下载文件,并带有空白的尾随行。 :(
【解决方案2】:

php 标记前后的空白行是 csv 中这些额外行的原因。

【讨论】:

    猜你喜欢
    • 2019-08-15
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 2023-03-12
    • 2016-12-23
    • 2017-03-01
    相关资源
    最近更新 更多