我正在尝试在laravel中发送zip文件,但出现此错误:
当我上传文件it uploads
和我的database get updates
时,物理文件或数据库数据也基本没有问题,唯一的问题是我以某种方式收到此错误!
Here is my controller code
public function sendCompanyData(Request $request)
{
$this->validate($request, array(
'coDoc' => 'required|mimetypes:application/zip|max:10000',
));
$company = CompanyData::where('user_id', Auth::user()->id)->first();
//file
if ($request->hasFile('coDoc')) {
$coDoc = $request->file('coDoc');
$filename = $company->user->username . '-Company-Prove-Documents-' . str_random(10) . '-' . time() . '.' . $coDoc->getClientOriginalExtension();
$location = public_path('files/idus/');
$request->file('coDoc')->move($location, $filename);
$oldFilename = $company->files;
$company->files = $filename;
if(!empty($company->files)){
Storage::delete($oldFilename);
}
$company->files = $filename;
}
$company->save();
//send confirmation mail
$userMail = $company->user->email;
$data = array(
'id' => $company->id,
'user' => $company->user->username,
'files' => url('files/idus', $company->files),
'submit_time' => $company->created_at->format('d M, Y | H:m:s A'),
);
Mail::to($userMail)->send(new MailToAdmin($data));
return redirect()->back();
}
有什么想法吗?
答案 0 :(得分:1)
我修复了!
请勿使用“移动”功能保存文件
我使用Storage :: disk('public')-> putFileAs并工作
我认为不能在laravel 6版中移动tmp文件!
答案 1 :(得分:1)
您需要检查是否存在以下错误: “文件“ ***。jpg”超出了您的upload_max_filesize ini指令(限制为2048 KiB)。”
像app_wnd
答案 2 :(得分:0)
我认为这是您文件夹中的权限错误..give 777
suDO chmod -R 777 /YOUR_FOLDER
答案 3 :(得分:0)
检查您的 php.ini...确保您的 upload_max_filesize 与 post_max_size 一样大。