我正在尝试将 ajax 提交表单到 Laravel 5 控制器方法。据我所知,在 php 中,您可以定义一个 FormData 对象,将输入字段附加到该对象并将其发送到服务器,您现在可以在其中使用输入字段名称提取值。
Like so:
var form_data = new FormData();
formdata.append('file_name', 'some_file_name_from_form.png');
When form_data
被发送为data
在ajax调用中,我可以使用PHP获取文件$_FILES['file_name']['name'];
.
所以我在 Laravel 控制器方法中尝试了相同的逻辑。我试图获取文件名$request
对象但只得到 null。
我的控制器方法:
public function postImage(Request $request)
{
$file = $request->get('file_name');
dd($file);
}
但当我dd
在整个请求中,我看到了这个奇怪的对象:
数组:1 [
“文件名”=> 上传文件{#199
-测试:假
-原始名称:“work-fitness_00255959.png”
-mimeType:“图像/png”
-尺寸:34215
-错误:0
#哈希名称:空
路径:“/tmp”
文件名:“phpVodsUg”
基本名称:“phpVodsUg”
路径名:“/tmp/phpVodsUg”
扩大: ””
真实路径:“/tmp/phpVodsUg”
时间:2017-06-04 12:42:26
时间:2017-06-04 12:42:26
c时间:2017-06-04 12:42:26
索引节点:17573243
尺寸:34215
权限:0100600
拥有者:1000
组:1000
类型:“文件”
可写:真
可读:正确
可执行文件:假
文件:真实
目录:假
链接:假
}
]
请问如何将图片发送过来FormData()
Ajax 中的对象通过它的名称?
谢谢你的帮助
你可以这样做。
// get the `UploadedFile` object
$file = $request->file('file_name');
$file = $request->file_name;
// get the original file name
$filename = $request->file('file_name')->getClientOriginalName();
$filename = $request->file_name->getClientOriginalName();
查看文档以获取更多信息https://laravel.com/docs/5.4/requests#retriving-uploaded-files
上传文件上可用的 api 方法http://api.symfony.com/3.0/Symfony/Component/HttpFoundation/File/UploadedFile.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)