当我尝试将图像从POSTMAN上传到我的LARAVEL API时,我遇到了一个小问题,我正在很好地创建路径和名称,但是当发出POST请求时,图像并未保存在应该放置的文件夹中保存。
路线用于创建产品,并且图像与之对应:
路线:
Route::post('product/new','ProductController@store');
在我的控制器中:
$product = new Product;
$product->name = $request->input('name');
//Other staff
$file = $request->file('image');
$extension = $file->getClientOriginalExtension();
$filename = $product->name . '.' . $extension;
$path = $file->move(public_path("/uploads/image/products/"), $filename);
$product->image = $path;
和POSTMAN配置:
已经尝试使用以下内容配置内容类型标头:x-www-form-urlencoded
,内容类型为multipart/form-data
,不包含any Content type
,而这3个都不起作用
我得到的结果是:
{
"id": 1,
"name": "test1",
//staff
"image": "/app/public/uploads/image/products/test1.png",
}
但是,如果我在此处进行检查:/app/public/uploads/image/products/
没有保存的图像
预先感谢您:)
答案 0 :(得分:0)
在请求中的文件上使用store方法,并为公共符号链接存储目录
$extension = $file->getClientOriginalExtension();
$filename = $product->name . '.' . $extension;
$request->image->storeAs('uploads/image/products/', $filename);
并运行php artisan storage:link