Laravel下载上传的文件

时间:2018-01-18 13:53:01

标签: laravel download upload base64 form-data

我需要帮助!!我遇到了上传文件的问题。我现在不能正确下载它们......

我有一个使用 FormData 上传文件的前端。然后,在控制器中,我只需使用:

保存文件(例如test.txt)
request()->file('attachment')->store('logs', 'public')

它保存了一个rqervdrertwer.txt它应该,但是,该文件的内容设置为base64字符串。

我的问题是当我尝试下载文件时。 我怎么能实现这一目标? 如果我在我的控制器中写道:

$pathToFile = storage_path('app/public/logs/' . basename($log->file));
return response()->download($pathToFile);

然后它强制浏览器下载文件,就像存储文件一样;我的意思是,浏览器获取base64字符串而不是原始内容。

那么,怎么能用解码文件给出下载响应呢?如果是.pdf或其他格式? 或者那不是保存文件的方法?也许Laravel有一个更好的方法,而不是用base64编码?

请帮忙! THX!

修改

好的,我检查过我的问题只发生在.txt文件中。如果用户上传.pdf,.docx,图像等,则可以正常工作。所以,我会阻止任何.txt上传:)

0 个答案:

没有答案