我正在尝试将我的图片转换为灰度,然后在 Laravel 中下载,但每次我都会收到此错误
文件""不存在
不要'知道为什么在这里给出这个错误是我的代码。
$file = public_path() . "/large/s/" . $sheet[0]->sheet_f_id . '-s.jpg';
$image = Image::make($file);
$grayScale = $image->greyscale();
return Response::download($grayScale);
当我转储$file
变量时,我得到了类似的响应。
" d:\ XAMPP \ htdocs中\ wikistaging \公共/大/ S / 03-02-05-025-s.jpg"
但它仍然给了我山姆的错误,为什么会发生这种情况。任何帮助都会很棒。
答案 0 :(得分:1)
如果要下载,则首先必须保存创建的文件,并需要提供下载路径。这是工作示例
$img_name=$sheet[0]->sheet_f_id . '-s.jpg';
$destination_path=public_path() . "/large/s/";
$file = $destination_path.$img_name;
$image = Image::make($file);
$image->greyscale()->save($destination_path.'gray-'.$img_name);
return Response::download($destination_path.'gray_'.$img_name);
如果您不想保留可以删除的文件,请将最后一行替换为以下行。
return Response::download($destination_path.'gray_'.$img_name)->deleteFileAfterSend(true);
希望它对你有用。
答案 1 :(得分:0)
您必须在调用 greyscale()后保存图像。 你可以尝试一下:
$filePath = public_path() . "/large/s/" . $sheet[0]->sheet_f_id . '-s-test.jpg';
$image->greyscale();
$image->save($filePath);