Я пытаюсь l oop над несколькими входными файлами выбрать элемент
<label class="btn btn-success btn-md rounded-1" for="galleryFile">Create Album</label>
<input type="file" name="galleryFile[]" id="galleryFile" class="d-none" multiple accept="image/*">
и сохранить все выбранные изображения в AWS s3
public function sendToCloud($file, $folder, $prefix) {
$filePath = Auth::user()->userid . '/' .$folder.'/' . $prefix;
$extension = $file->getClientOriginalExtension();
$filename = $filePath . time() . '.' . $extension;
Storage::disk('s3')->put($filename, fopen($file, 'r+'), 'public');
return Storage::disk('s3')->url($filename);
}
$unikPath = uniqid();
foreach ($request->file('galleryFile') as $key => $file) {
if ($key == array_key_last($request->file('galleryFile'))) {
$galleryUrl .= $this->sendToCloud($file, $unikPath . '/gallery', 'img_');
} else {
$galleryUrl .= $this->sendToCloud($file, $unikPath . '/gallery', 'img_') . ' | ';
}
}
на моей локальной машине это работает очень хорошо, заставляя меня поверить, что это не проблема с моим кодом или laravel, но когда я развернул на heroku, поведение загрузки изменилось. Что делает на heroku:
, если я выбрал 10 изображений для загрузки, он случайным образом выбирает и сохраняет 2 из этих изображений на s3 и возвращает URL-адрес s3 этих 2 изображений 10 раз.
Я ценю любую помощь, указывающую в правильном направлении, как решить эту проблему.
Заранее спасибо.