这是我将文件内容发送到队列的代码:
$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);
}
}
没有收到任何错误或任何数据。
有人可以指导我吗?
找到了解决方案。
我们需要将文件转换为二进制并发送:
$sendBinaryFileContent = 'data:application/pdf;base64,'.base64_encode(file_get_contents($filePath));
二进制文件句柄:
$binaryFile = str_replace('data:application/pdf;base64,', '', $binaryFile);
$file = base64_decode($binaryFile);