Загрузить массив файлов Laravel - PullRequest
0 голосов
/ 06 февраля 2020

Я хочу загрузить массив файлов в Laravel, и я не уверен, каков путь и кто должен хранить файл. Восемь теперь данные хранятся, но в моем случае путь #. На изображении ниже у меня есть данные, которые я отправляю с фронта (Vuejs, и я использую vue -upload-component)

enter image description here

$fileName = [];

foreach($request->input('files') as $files){
       $contractFile = new ContractFile();
       $contractFile->fill([
           'contract_id'   => $contract->id,
           'name'          => $files['name'],
           'path'          => '#',
       ])->save();
}

ContractFile

class ContractFile extends Model
{
    protected $fillable = ['path','contract_id','name'];

    public function contract()
    {
        return $this->belongsTo(Contract::class);
    }

}

ContractFile, дБ

    Schema::create('contract_files', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->integer('contract_id');
    $table->string('path');
    $table->string('name');
    $table->timestamps();
});

файловые системы. php

'uploads' =>[
    'driver' => 'local',
    'root' => storage_path().'file/uploads',
],

1 Ответ

0 голосов
/ 06 февраля 2020

Вы можете использовать

foreach($request->file('files') as $uploadedFile){

      $filename = time() . '_' . $uploadedFile->getClientOriginalName();

       $path = $uploadedFile->store($filename, 'uploads');

       $contractFile = new ContractFile();
       $contractFile->contract_id = $contract->id;
       $contractFile->name = $uploadedFile->getClientOriginalName();
       $contractFile->path = $path;
       $contractFile->save();

}

По умолчанию диск publi c использует локальный драйвер и сохраняет эти файлы в storage/app/public. Чтобы сделать их доступными из Интернета, вы должны создать символическую c ссылку из общедоступного / хранилища в хранилище / приложение / publi c.

Для создания символов c ссылка , Вы должны использовать хранилище: ссылка Команда ремесленника:

php artisan storage:link
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...