Вмешательства изображения\\исключение формат кодирования\исключение notsupportedexception (ТМП) не поддерживается
Я использую пакет вмешательства с Laravel 5.6, проблема, которую я получаю всякий раз, когда я загружаю файл, который мне был представлен с форматом кодировки ошибок(tmp), не поддерживается. У меня также включено расширение gdd2. Это код, который я использовал.
public function store(Request $request)
{
$this->validate($request , [
'name' => 'required|unique:categories',
'description' => 'max:355',
'image' => 'required|image|mimes:jpeg,bmp,png,jpg'
]);
// Get Form Image
$image = $request->file('image');
$slug = str_slug($request->name);
if (isset($image))
{
$currentDate = Carbon::now()->toDateString();
$imageName = $slug.'-'.$currentDate.'-'.uniqid().'.'.$image->getClientOriginalExtension();
// Check if Category Dir exists
if (!Storage::disk('public')->exists('category'))
{
Storage::disk('public')->makeDirectory('category');
}
// Resize image for category and upload
$categoryImage = Image::make($image)->resize(1600,479)->save();
Storage::disk('public')->put('category/'.$imageName, $categoryImage);
// Check if Category Slider Dir exists
if (!Storage::disk('public')->exists('category/slider'))
{
Storage::disk('public')->makeDirectory('category/slider');
}
// Resize image for category slider and upload
$categorySlider = Image::make($image)->resize(500,333)->save();
Storage::disk('public')->put('category/slider/'.$imageName, $categorySlider);
}
else
{
$imageName = 'default.png';
}
$category = new Category();
$category->name = $request->name;
$category->slug = $slug;
$category->description = $request->description;
$category->image = $imageName;
$category->save();
Toastr::success('Category Saved Successfully','Success');
return redirect()->route('admin.category.index');
}
Ответы - Вмешательства изображения\\исключение формат кодирования\исключение notsupportedexception (ТМП) не поддерживается / Intervention\Image\Exception\NotSupportedException Encoding format (tmp) is not supported

27.04.2018 08:18:59
Метод Intervention image save() требует имени файла, чтобы он знал, какой формат файла (jpg, png и т. д..) для сохранения вашего изображения В.
Причина, по которой вы получаете ошибку, заключается в том, что она не знает, в какой кодировке сохранить временный объект изображения (tmp).
Вот вам пример
->save('my-image.jpg', 90)
Существует также дополнительный второй параметр, который управляет качеством вывода. Вышеуказанные выходы при 90% качестве.

08.06.2018 09:32:32
Вам не нужно использовать функцию save() Intervention\Image
, так как вы сохраняете файл на общедоступный диск через фасад Storage
.
Просто замените строку
$categoryImage = Image::make($image)->resize(1600,479)->save();
с
$categoryImage = Image::make($image)->resize(1600,479)->stream();
чтобы избежать необходимости хранить изображение в папке temp под a .расширение tmp. Laravel Storage
Facade будет обрабатывать поток, созданный Intervention\Image
, и хранить файл на общедоступном диске.

05.12.2018 03:06:58
Видел это где-то, и это сработало для меня
$image->save('foo' . $img->getClientOriginalExtension());

12.03.2019 10:55:36
Метод Laravel Intervention image save() требует имени файла, чтобы он знал, какой формат файла (jpg, png и т. д..) чтобы сохранить изображение в
$categoryImage = Image::make($image)->resize(1600,479)->save( $imageName,90);

19.10.2019 09:36:04
Я решил эту проблему с помощью
Зачистка мой путь к файлу, я использовал этот скрипт внутри laravel Artisan Console .
$img->save(trim('public/uploads/images/thumbnails/'.$subFolder.'/'.$filename));

04.12.2019 10:15:31
Скорее вы используете поток его работы без ошибок
$categoryImage = Image::make($image)->resize(1600,479)->save();