Laravel: The file was not uploaded due to an unknown error
15,316
Solution 1
You can try this:
$request->file('photo')->move($destination_path, $file_name);
Add DIRECTORY_SEPARATOR between path and filename if needed and copy that file at new location
copy($destination_path.$file_name, $new_path.$new_file_name);
Solution 2
Check your code if your file upload code is running two times.
I was facing the same issue & then I find that my file upload code is running two times.
after commenting one of them it's working fine.
Author by
Saani
A versatile and professional web application developer with a commitment to develop & work with innovative & creative web solutions.
Updated on July 23, 2022Comments
-
Saani almost 2 years
I am trying to upload a file to two different locations. The lcoations being
/2x/
adn/3x/
. It uploads the file on 3x but doesn't on 2x and throws this error:The file was not uploaded due to an unknown error
Here is what i am doing:
$photo = $request->file('photo'); if (isset($photo)) { if ($photo != null || $photo != '') { $imageSize = getimagesize($photo); $resolution = $imageSize[0] . 'x' . $imageSize[1]; if ($resolution == '300x300' || $resolution == '450x450') { if (!file_exists(base_path('uploads/custom_avatar'))) { mkdir(base_path('uploads/custom_avatar'), 0777, true); } $resolution = "3x"; $uploadPath = base_path('uploads/custom_avatar/' . $resolution . '/'); $otherImageResolution = '2x'; $otherImagePath = base_path('uploads/custom_avatar/' . $otherImageResolution . '/'); //echo $otherImagePath;exit; // saving image $fileName = $child->id . '_' . time() . '.png'; $photo->move($uploadPath, $fileName); $photo->move($otherImagePath, $fileName); // creating records $childImage = Images::addPhoto($child->id, $fileName, $resolution); $otherImage = Images::addPhoto($child->id, $fileName, $otherImageResolution); if ($childImage && $otherImage) { $result = Child::createChildResponseData($child); \Log::info('Child avatar added Successfully' . json_encode($childImage)); return response()->json([ 'status' => $this->SUCCESS, 'response' => $result, ], $this->SUCCESS); }
Any help?
-
Therichpost about 4 yearsyou are right, my file upload was running two times.
-
Sasindu Jayampathi almost 4 yearsalso i am faced to this issue and it's uploading two times in foreach. thank you for idea and it's worked
-
Hassan Raza almost 4 yearsIt worked for me as i looked into my foreach, i was uploading same file twice, resulting in error. your hint solved my problem. thanks.
-
RoshJ over 3 yearsthanks a lot, i was uploading it twice, using same name for different files, thanks again :)