我正在制作资源文档以在我的服务器上传文件,并且它在大多数情况下工作正常,我可以毫无问题地上传图像和pdf,但在尝试上传.doc或.docx时它会上传为。 bin文件。我不知道为什么。
这是我在控制器中上传文件
public function store(Request $request) {
$extension = $request->file('document')->guessClientExtension();
//the store method returns a path to the file,
$path = $request->file('document')->store('public/documents');
$name = $request->input('name');
echo($extension);die;
当回应扩展时,它说" bin"并且该文件实际上存储为.bin但该文件是.doc
我可以使用相同的功能上传pdfs和.jpgs而没有问题,我希望你们能帮助我
提前致谢
答案 0 :(得分:1)
如果仍然有人遇到此问题,则只需采用以下原始扩展名和文件名即可:
// we need original extension in case we change our filename
$extension = $request->resume->getClientOriginalExtension();
$filename = $request->resume->getClientOriginalName();
// and use `storeAs` method in this case and give filename as a second parameter
$request->file('document')->storeAs('public/documents', $filename);
在某些MIME类型的情况下,Laravel无法获得正确的文件扩展名,因此我们必须提醒它原始扩展名是什么。