我不太确定如何用这个词来表达,但我有一份名为 的工作uploadFile
,它使用 CloudConvert 将上传的文件(例如 PDF)转换为 JPG。
单独使用,效果很好。我可以上传一个文件,它将保存到 S3,然后 CloudConvert 获取 S3 文件,将其转换并上传。完美的。
当一次多人使用它时,文件就会混淆。文件名是正确的(所以变量本身必须是正确的),但实际处理的图像是别人的。
$originalFileName = str_replace('.'.$this->extension, '', $this->actualFileName);
$tempName = $originalFileName.'_'.time().'.jpg';
$fileName = $originalFileName.'_'.time();
Storage::disk('s3')->put($folder.$fileName, $file, 'public');
$fileUrl = Storage::disk('s3')->url($fileName);
CloudConvert::file($fileUrl)
->withOptions([
'quality' => 80,
'resize' => '400x400',
])->to(CloudConvert::S3($tempName));
在上面,文件Storage->put()
是正确的,$tempName
和$fileName
. 不知何故,它正在转换的文件是错误的,所以输出 Jpeg 来自其他人的上传。
有谁知道我可以尝试什么?我什至不确定从哪里开始调试。