gpt4 book ai didi

ajax - 如何在 Laravel 中读取 FormData 对象

转载 作者:行者123 更新时间:2023-12-04 13:46:24 29 4
gpt4 key购买 nike

我正在尝试将 ajax 表单提交给 Laravel 5 Controller 方法。我知道在 php 中,您可以定义一个 FormData 对象,将输入字段附加到该对象并将其发送到服务器,您现在可以使用输入字段名称提取值。

像这样:

var form_data = new FormData();
formdata.append('file_name', 'some_file_name_from_form.png');

form_data发送为 data在ajax调用中,我可以使用 $_FILES['file_name']['name'];在PHP中获取文件.

所以我在 Laravel Controller 方法中尝试了同样的逻辑。我试图在 $request 中获取文件名对象,但只得到了空值。

我的 Controller 方法:
public function postImage(Request $request)
{
$file = $request->get('file_name');

dd($file);
}

但是当我 dd整个请求,我看到了这个奇怪的对象:

array:1 [ "file_name" => UploadedFile {#199 -test: false -originalName: "work-fitness_00255959.png" -mimeType: "image/png" -size: 34215 -error: 0 #hashName: null path: "/tmp" filename: "phpVodsUg" basename: "phpVodsUg" pathname: "/tmp/phpVodsUg" extension: "" realPath: "/tmp/phpVodsUg" aTime: 2017-06-04 12:42:26 mTime: 2017-06-04 12:42:26 cTime: 2017-06-04 12:42:26 inode: 17573243 size: 34215 perms: 0100600 owner: 1000 group: 1000 type: "file" writable: true readable: true executable: false file: true dir: false link: false } ]



请问我如何获得通过 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#retrieving-uploaded-files

上传文件可用的 api 方法 http://api.symfony.com/3.0/Symfony/Component/HttpFoundation/File/UploadedFile.html

关于ajax - 如何在 Laravel 中读取 FormData 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44354370/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com