我在laravel中使用下载文件功能,如下所示:
if(Input::get('download')){
return Response::download('File_and_path');
}
现在,当我按下名为download
的按钮时,这将下载文件。但是,当我尝试打开文件(例如docx文档)时,它会告诉我文件已损坏,并询问我是否要修复该文件。当我单击是时,我打开了正确的文件。使用JPG文件,我无法修复它。它只会说文件已损坏。当我在记事本中打开文件(存储在下载文件夹中)时,我发现开头有一个标签或空格。现在我的同事说要试用这个函数:ob_get_clean()
并且文件在下载后不再受损。但是我的同事说这不是解决我遇到的问题的正确方法。
在下载功能之前,我先上传文件。 public/files/
每当我在那里打开它时,如果没有ob_get_clean()
,它将会毫无问题地打开。
当我var_dump(ob_get_clean());
时,我得到:string(1) " "
。我试图找出我搞砸了代码的地方,但我似乎无法弄清问题是什么。在这种情况下,文件代码中只有一个随机选项卡,问题出在哪里?我的代码实际上显示得太多,所以我只需要解决问题的方向。
注意:
当我在控制器的不同功能中使用var_dump(obs_get_clean());
时,我得到:string(1) " "
。 2个函数共享的唯一内容是基本布局视图,当然也在routes.php中定义。
答案 0 :(得分:0)
你的文件中有没有关闭php? ?>
。大多数时候,他们负责,因为他们可能是空格。