Laravel, upload file

0

Cześć. Próbuję przesłać zdjęcia na serwer. Korzystam z Vue.js & Laravel.
W laravelu do odbierania plików używam php $request->file('images')
i teraz moje pytanie, co musi zawierać tablica images? Czy są to nazwy plików?
Pisałem już wcześniej dwa posty ale niestety nikt nie odpowiada :/ Więc może w ten sposób uda mi się coś zdziałać :D

1

Domyślnie nie ma jak wysłać, musisz użyć formdata, dorzucić tam pliki i je dopiero wysłać.

Pierwszy link w googlu... https://serversideup.net/uploading-files-vuejs-axios/

0

kod vue

<q-card-section class="q-pt-none">
        <q-form @submit.prevent="uploadFileSubmit">
          <q-select
            v-model="data.album_id"
            :options="albums"
            option-label="name"
            option-value="id"
            option-disable="inactive"
            emit-value
            map-options
            :label="this.$t('profile.title.photos.add.photo.album')"
            style="margin-bottom: 20px;"
          />
          <q-uploader
            :label="this.$t('profile.title.photos.add.photo.upload')"
            :multiple="true"
            class="full-width"
            auto-expand
            :factory="uploadFile"
            accept=".jpg, .png, .gif, image/*"
            ref="files">
          </q-uploader>
          <q-btn type="submit">SUBMIT</q-btn>
        </q-form>
      </q-card-section>
export default {
    name: "AddPhotosUserComponent",
    data() {
      return {
        viewModalUploader: false,
        data: {
          album_id: '',
          photos: []
        },
        files: ''
      }
    },
    props: {
      albums: []
    },
    methods: {
      openModal() {
        this.viewModalUploader = true;
      },
      uploadFileSubmit() {
        let formData = new FormData();
        for (var i = 0; i < this.data.photos.length; i++) {
          let photo = this.data.photos[i];
          formData.append('photos[' + i + ']', photo);
        }
        this.data.photos = formData;
        this.$axios.post('user/photos/store', this.data)
        .then(() => alert('ok')).catch(() => alert('nie ok'))
      },
      uploadFile() {
        this.data.photos = this.$refs.files.files;
      }
    }
  }

Przechodzi jednak zdjęcia nie są dodawanie. W dev tool -> request payload zwraca {"album_id":3,"photos":{}}

1 użytkowników online, w tym zalogowanych: 0, gości: 1