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

问题描述

先谢谢您

我有一个像这样的控制器功能

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());
    }
}