我需要帮助!!我遇到了上传文件的问题。我现在不能正确下载它们......
我有一个使用 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上传:)