使用 API 蓝图通过 post 请求将图像提交到 Laravel 5.5

Posted

技术标签:

【中文标题】使用 API 蓝图通过 post 请求将图像提交到 Laravel 5.5【英文标题】:Submitting image to Laravel 5.5 via post request with API Blueprint 【发布时间】:2018-05-10 17:37:08 【问题描述】:

尝试做一些非常简单的事情,但只需要一些特定的知识就可以让它发挥作用。

我正在尝试将发布请求中的图像提交到 Laravel 5.5 中的发布路由。

虽然使用$file = $request->file('filename'); 之类的方法很容易从请求中检索文件,但

这将与上传文件并将其提交到该路由的 html5 表单一起使用,我正在尝试做的是通过 API 蓝图上传文件。

我尝试查找 Laravel 期望的确切帖子数据结构以使用 $file = $request->file('filename'); 检索文件,但未成功,

我猜这是一个标准,但我一直无法找到它作为 API 蓝图的示例。

如果有人有任何指示或建议,将不胜感激。谢谢!

【问题讨论】:

【参考方案1】:

在 Laravel 5.5 中使用以下代码在 post 请求中将图像提交到 post 路由:

$imageTempName = $userdata->file('image_media')->getPathname();
$imageName = $userdata->file('image_media')->getClientOriginalName();

我认为您需要尝试使用 Laravel 5 将文件上传到目录内的数据库中。

<?php
public static function upload_file(Request $userdata)
    $imageTempName = $userdata->file('image_media')->getPathname();
    $imageName = $userdata->file('image_media')->getClientOriginalName();
    $path = base_path() . '/public/uploads/images/';
    $userdata->file('image_media')->move($path , $imageName);
    $data=array('media'=>$imageName);
    $insert=with(new UserModel)->uploadFile($data);

?>

【讨论】:

这是我工作的部分,实际上我遇到的困难是通过 API 蓝图将文件提交到 post 路由。我可以使用 html 表单提交图像,但我无法完全了解 laravel 在创建 API 蓝图时希望请求出现的格式/结构。不过感谢您的回复!

以上是关于使用 API 蓝图通过 post 请求将图像提交到 Laravel 5.5的主要内容,如果未能解决你的问题,请参考以下文章

获取 Azure Blob(图像)并 POST 到外部 API

如何在不公开 API 密钥的情况下发出 POST 请求?

如何从本地环境通过 HERE API 正确提交 POST 定位请求?

Python爬虫编程思想(21):使用requests网络库抓取二进制数据提交POST请求和处理响应数据

使用 Guzzle 将数据和文件一起发布到 Laravel API

在 Python 请求中使用 POST 表单数据上传图像