【发布时间】:2017-11-05 08:48:15
【问题描述】:
我正在尝试将表单提交到 Laravel 5 控制器方法。我知道在 php 中,您可以定义一个 FormData 对象,将输入字段附加到该对象并将其发送到服务器,您现在可以使用输入字段名称提取值。
像这样:
var form_data = new FormData();
formdata.append('file_name', 'some_file_name_from_form.png');
当form_data 在ajax 调用中作为data 发送时,我可以使用$_FILES['file_name']['name']; 在PHP 中获取文件。
所以我在 Laravel 控制器方法中尝试了同样的逻辑。我试图在$request 对象中获取文件名,但只得到了空值。
我的控制器方法:
public function postImage(Request $request)
{
$file = $request->get('file_name');
dd($file);
}
但是当我dd整个请求时,我看到了这个奇怪的对象:
数组:1 [ "file_name" => UploadedFile {#199 -测试:假 -originalName:“work-fitness_00255959.png” -mimeType:“图像/png” -尺寸:34215 -错误:0 #hashName:空 路径:“/tmp” 文件名:“phpVodsUg” 基本名称:“phpVodsUg” 路径名:“/tmp/phpVodsUg” 延期: ”” 真实路径:“/tmp/phpVodsUg” 时间:2017-06-04 12:42:26 m时间:2017-06-04 12:42:26 c时间:2017-06-04 12:42:26 索引节点:17573243 尺寸:34215 烫发:0100600 拥有者:1000 组:1000 类型:“文件” 可写:真 可读:真 可执行:假 文件:真 目录:假 链接:假 } ]
请问如何通过名称获取通过 Ajax 中的FormData() 对象发送的图像?
感谢您的帮助
【问题讨论】:
标签: ajax laravel file laravel-5.4