Я загружаю большой файл (это было 100 МБ) на S3 и получаю сообщение об ошибке 504 Gateway Timeout. Эта запутывающая часть заключается в том, что файл действительно все еще загружается, но через некоторое время я получаю ошибку 504? Я транслирую файл, поэтому я думал, что это предотвратит сжигание ресурсов? Когда я загружаю файл меньшего размера (6 МБ), у меня не возникает этой проблемы.
Вот полный код:
public function store(Request $request)
{
$request->validate([
'email' => 'required|email',
'video' => 'required',
]);
if ($request->hasFile('video')) {
//Upload original file
$original_key = Storage::putFile(
'originals',
new File($request->file('video')),
['Content-Disposition' => 'attachment']
);
//Convert file for preview
$config = [
'PresetId' => '1351620000001-100070',
'width' => 1920,
'height' => 1080,
'aspect' => '16:9',
'ext' => 'mp4',
'PipelineId' => env('PIPELINE_ID'),
];
$elastcoder = new ElastcoderAWS();
$original_array = explode('/', $original_key);
$preview_key = end($original_array);
$thumbPattern = "thumbnails/{$preview_key}-{count}";
$job = $elastcoder->transcodeVideo($original_key, $preview_key, $config, $thumbPattern);
$submission = new Submission();
$submission->email = $request->input('email');
$submission->original = config('filesystems.disks.s3.url') . $original_key;
$submission->preview = config('filesystems.disks.s3.url') . $preview_key;
$submission->thumbnail = config('filesystems.disks.s3.url') . "thumbnails/{$preview_key}-00001.png";
$submission->transcoding_id = $job["Id"];
$submission->save();
return response()->json([
'submission' => $submission,
'message' => 'Video Upload. Good Luck!!!'
]);
} else {
return response()->json([
'submission' => false,
'message' => 'Upload Error. Please try again later.'
]);
}
}