Laravel HTTP客户端-如何发送文件

Laravel HTTP客户端-如何发送文件,laravel,api,laravel-api,Laravel,Api,Laravel Api,提前谢谢大家, 我有一个控制器功能,比如 public function storeBlog(Request $request) { // Here i am receiving file like $request->file('image'); } 现在我想将该文件发送到API端点,如 Http::post('http://example.com/v1/blog/store', $request->all()); 我得到的是所有的请求,但不是文件,我知道我们需要将POST

提前谢谢大家,

我有一个控制器功能,比如

public function storeBlog(Request $request)
{
  // Here i am receiving file like $request->file('image');
}
现在我想将该文件发送到API端点,如

Http::post('http://example.com/v1/blog/store', $request->all());
我得到的是所有的请求,但不是文件,我知道我们需要将
POST
数据作为
multipart
传递,但我不知道如何传递


有人能帮忙吗?你应该使用Http::attach上传文件

public function storeBlog(Request $request)
{
    // check file is present and has no problem uploading it
    if ($request->hasFile('image') && $request->file('photo')->isValid()) {
        // get Illuminate\Http\UploadedFile instance
        $image = $request->file('image');

        // post request with attachment
        Http::attach('attachment', file_get_contents($image), 'image.jpg')
            ->post('example.com/v1/blog/store', $request->all());
    } else {
        Http::post('http://example.com/v1/blog/store', $request->all());
    }
}

我想你想用api存储图像?你尝试过什么?您使用的是客户端、简单表单、Javascript还是移动设备?您是否检查了与文件上载相关的其他问题?请看这里有一个使用多部分请求li laravel doc的示例。您的回答非常有用,但缺少文件内容,因此我刚刚将您的代码更改为Http::attach('attachment',file_get_contents($image),'image.jpg')->post('',$request->all());它正在按预期工作。非常抱歉,您的回答不完整。根据您的建议更新答案。很高兴为您提供帮助。您可以直接在
attach
中使用
$request->file('image')
(或使用
$image->get()