Laravel-文件上传不';由于某些原因,似乎不允许所有类型的文件
由于某种原因,我的应用程序拒绝上传具有特定扩展名的文件。 它会打印出错误:Laravel-文件上传不';由于某些原因,似乎不允许所有类型的文件,laravel,file-upload,controller,Laravel,File Upload,Controller,由于某种原因,我的应用程序拒绝上传具有特定扩展名的文件。 它会打印出错误: fopen(C:\wamp64\www\storage\app\public/wrdjxF3EMbtGCUyXjSEWH5zeAu822ACeKikLPaCT.): failed to open stream: Permission denied 到目前为止,发出此错误的文件类型为:.msg和.txt。 我不知道是什么导致了这个问题,其他文件类型似乎工作正常 处理文件上载的控制器函数: if($request->
fopen(C:\wamp64\www\storage\app\public/wrdjxF3EMbtGCUyXjSEWH5zeAu822ACeKikLPaCT.): failed to open stream: Permission denied
到目前为止,发出此错误的文件类型为:.msg和.txt。
我不知道是什么导致了这个问题,其他文件类型似乎工作正常
处理文件上载的控制器函数:
if($request->hasFile('document'))
{
$files = $request->file('document');
foreach($files as $file){
if($file){
$name = $file->getClientOriginalName();
$size = $file->getClientSize();
$size = number_format($size / 1048576,2);
$path = $file->store('public');
Document::create([
'report_id' => $id,
'report_type' => "App\VisitingReport",
'file_path' => $path,
'file_name' => $name,
'file_size' => $size.' MB'
]);
}
}
}
任何帮助都将不胜感激,谢谢
我正在使用WAMP在Windows计算机上运行此程序
我确信这确实与许可有关。我已经更进一步了,文件被上传了,但是这次没有扩展名。你能在这里粘贴你在上传后看到的其他文件类型和
.txt
的权限吗。在存储这些文件的地方运行ls-la
,权限应该在最左边。类似于rwxr-wr-w
。粘贴在这里,这样至少可以提供一个关于问题的线索
否则,一旦上传了.txt
文件,您就可以运行chmod 777 some.txt
并查看是否仍然存在权限问题。如果您不再遇到权限问题,它就会以某种方式创建具有不同权限的.txt
文件。但是做任何事情都不是一个好主意:D。但至少现在你知道问题出在哪里了
如果权限是个问题,那么这里有一个关于这个主题的极好的答案
祝你好运:)
我不是一个专家,只是想帮助你。我遇到过这个错误,但我不知道它对你是否有效。 把这个放在你的.env文件中
FILESYSTEM_DRIVER = public
并使用以下命令将公用文件夹与存储文件夹链接:
php artisan storage:link
我希望它能起作用。我应该补充一点,我正在使用Windows和WAMP:p。