将文件内容发送到RabbitMQ

问题描述 投票:0回答:1

这是我将文件内容发送到队列的代码:

$documentToSend = ['file' => file_get_contents($filePath)];

队列调用:

Queue::pushRaw(json_encode($documentToSend), 'service-call');

这是我的队列句柄:

public function handle(){
     
  try {
      $file = $this->data->file;
      Storage::disk()->put($fileToPath, $file, 'public');
   } catch (Exception $e) {
      Log::error($e);
   }

}

没有收到任何错误或任何数据。

有人可以指导我吗?

php laravel rabbitmq queue
1个回答
0
投票

找到了解决方案。

我们需要将文件转换为二进制并发送:

$sendBinaryFileContent = 'data:application/pdf;base64,'.base64_encode(file_get_contents($filePath));

二进制文件句柄:

$binaryFile = str_replace('data:application/pdf;base64,', '', $binaryFile); 
$file = base64_decode($binaryFile);
© www.soinside.com 2019 - 2024. All rights reserved.