Я использую aws для хранения своих изображений, и код в контроллере выглядит следующим образом:
Storage::disk('3')->put($file->getClientOriginalName(), fopen($file, 'r+'), 'public');
Изображения сохраняются в моем локальном хранилище.Теперь я хочу создать подпапку для упорядочения изображений.
В моем случае это регистрация бизнеса.Поэтому я хочу, чтобы изображения были сохранены в подпапке, содержащей соответствующий бизнес-идентификатор.Я пробовал это:
Storage::disk('3')->put($file->getClientOriginalName(), fopen($file, 'r+'), 'public/' . $business->id.
Подробнее о контроллере можно узнать следующим образом:
$input = $request->all();
$files = isset($input['file']) ? $input['file'] : array ();
$business_names = json_decode($input['business_names'], true);
$business_details = json_decode($input['business_details']);
$share_amount = json_decode($input['share_amount'], true);
$entity = json_decode($input['entity'], true);
$directors = json_decode($input['directors'], true);
$shareholders = json_decode($input['shareholders'], true);
$appointments = json_decode($input['appointments'], true);
$input['user_id'] = Auth::user()->id;
Log::info(Auth::user());
Log::info($request->user());
/* Create Business Record */
$business = new Business;
$business->business_names = json_encode($business_names);
$business->share_amount = $share_amount ?: 0;
$business->entity = $entity ?: '';
$business->business_physical_address = json_encode($business_details->physical_address);
$business->has_business_postal_address = $business_details->has_postal_address;
$business->business_postal_address = json_encode($business_details->postal_address);
$business->user_id = $input['user_id'];
$business->save();
/* Create a new folder in storage/app/files named after the business ID */
Storage::makeDirectory('files/' . $business->id);
/* Upload Files */
// TODO: file storing?
foreach($files as $file) {
if ($file) {
Storage::disk('3')->put($file->getClientOriginalName(), fopen($file, 'r+'), 'public/' . $business->id);
// $file->storeAs('files/' . $business->id, $file->getClientOriginalName());
}
}
Когда я пытаюсь сохранить бизнес сейчас, я вижу следующую ошибку:
C: \ xampp \ htdocs \ initialabandbaby \ vendor \ league \ flysystem \ src \ Adapter \ Local.php (356): подсветить \ Foundation \ Bootstrap \ HandleExceptions-> handleError (8, 'неопределенный индекс ...'), 'C: \ xampp \ htdocs ...', 356, Array)
Так как раньше я мог хранить изображения, я предполагаю, что это как-то связано с объединением бизнес-идентификатора.
Как создать подпапку с идентификатором предприятия каждый раз, когда я создаю новый бизнес и добавляю все файлы в эту же папку?