php - 无法使用 POSTMAN 将文件保存在我的 LARAVEL API 文件夹中
问题描述
当我尝试将图像从 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;
邮递员配置:
已经尝试将 Content 类型标头配置为:x-www-form-urlencoded
,使用 Content 类型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/
没有保存的图像
先感谢您 :)
解决方案
改为对请求中的文件使用 store 方法,并符号链接公共的存储目录
$extension = $file->getClientOriginalExtension();
$filename = $product->name . '.' . $extension;
$request->image->storeAs('uploads/image/products/', $filename);
并运行php artisan storage:link
推荐阅读
- node.js - 如何修复节点中的“标头已发送”错误
- unity3d - 为什么我的角色在统一 2d 中飞走了?
- python - Python 根据其他函数参数创建具有参数名称的函数
- windows - PC-DOS vs MS-DOS vs Windows 多语言文本文件
- spss - 我可以避免在 SPSS 语法中硬编码文件位置吗?
- javascript - 登录表单可操作
- java - IBM MobileFirst 7.1 中生成密钥库的位置
- gradle - Gradle 与 cpp-application 插件,如何设置包含路径?
- vim - 如何使 vim 拼写错误仅搜索当前行?
- google-apps-script - 在谷歌表格中,我可以将标准函数包装在自定义函数中以控制它何时运行?