繁体   English   中英

如何在 Guzzlehttp 中获取上传的文件路径?

[英]How to get uploaded filepath in Guzzlehttp?

我将按照以下代码使用Guzzlehttp上传文件:

$client->request('POST', '/post', [
  'multipart' => [
   [
      'name'     => 'baz',
      'contents' => fopen('/path/to/file', 'r')
   ]
]);

我将在哪里使用此代码获取路径:

$data['thumb']->getPathName()

它给了我这样的信息: "/tmp/phpTSAE8d"

我将如何处理这个以传递另一个api ,它将处理这个图像来完成 rest 的工作?

如果您在应用程序中使用最新的 Laravel 版本。 您可以使用HTTP 客户端 它也在运行 guzzle,但更易于调试。

要使用 HTTP 传递文件,您可以这样做:

$response = Http::attach(
    'attachment', file_get_contents('photo.jpg'), 'photo.jpg'
)->post('http://example.com/attachments');

或者

$photo = fopen('photo.jpg', 'r');

$response = Http::attach(
    'attachment', $photo, 'photo.jpg'
)->post('http://example.com/attachments');

这是文档multi-part-request上的链接。

希望这将帮助您实现您想要实现的目标。

尝试使用 file_get_contents

'multipart' => [
    [
        'name'     => 'FileContents',
        'contents' => file_get_contents('/path/to/file')
    ]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM