无法在耗时的多格式请求中发布文件内容

时间:2018-08-14 17:26:30

标签: php guzzle6

我正在尝试将图像内容发布为多形式请求的参数。以下代码有效。

$read_image = base64_encode(file_get_contents('Large.jpg'));
$client = new Client(['debug' => true ,'handler' => $stack,]);
  $request = $client->Request(
    'POST',
    'https://mylandoapp.lndo.site/testdrive/post',
    [ 
      'multipart' => 
      [
        [
          'name'     => 'image',
          'contents' =>   $read_image,
        ],
      ],
    ]
  );

我可以使用以下代码获取值。

$data =$request->request->all();
$my_image = $data[$image];   

当我尝试添加文件名时,图像内容是一个空数组。

$request = $client->Request(
    'POST',
    'https://mylandoapp.lndo.site/testdrive/post',
    [ 
      'multipart' => 
      [
        [
          'name'     => 'image',
          'contents' =>  $read_image,
          'filename' => 'custom_filename.txt',
        ],
      ],
    ]);

如何使用多种形式的帖子请求传递文件名以及文件内容?

1 个答案:

答案 0 :(得分:0)

可能是微不足道的,但是首先检查这实际上是一个Guzzle问题,而不是php内存限制问题。编码为“ Large.jpg”的Base64将使$ read_image的字符串长度增加三倍。检查php错误日志,看看您的缓冲区长度是否还没用完。我会先尝试使用较小的JPEG。