Как заставить квазар отправлять большие файлы с multipart / form-data? - PullRequest
1 голос
/ 14 апреля 2019

Я работаю над приложением с приложением квазар, но при создании загрузки файла с компонентом я не могу отправить файлы небольшими частями ...

Посмотрите на код ...

<template>
  <q-uploader
    multiple
    auto-expand
    :headers="{'content-type': 'multipart/form-data'}"
    url=""
    :upload-factory="uploadFile"
  />
</template>

<script>
import { mapActions } from 'vuex'

export default {
  name: 'Uploader',
  methods: {
    uploadFile (file, updateProgress) {
      // "file" is an Object containing file's props, including content

      // for updating progress (as 0-1 floating number), we need to call:
      // updateProgress (bytesTransferred / totalBytes)

      this.uploadFilesSend({'file': file, 'type': file.type}).then(console.log('upload ok'))

      // we need to return a Promise
      // (resolves when upload is done, rejects when there's an error)
    },
    ...mapActions('uploads', {
      uploadFilesSend: 'create'
    })
  }
}
</script>

Я использую feathersjs в качестве сервера с соединением socket.io, сервер жалуется, что когда я отправляю большой файл тайм-аут, чтобы еще больше увеличить эту команду, я убедился, что она пытается отправить только как целый файл, а не по частям ....

Я хотел бы знать, если у вас есть и как включить этот метод multipart / form-data ..

Благодарный

1 Ответ

0 голосов
/ 15 апреля 2019

Вам придется разделить файл на управляемые куски в пользовательском интерфейсе и отправить каждый из них в отдельном сообщении.На сервере вы должны собрать все куски и поместить их куда-нибудь.Большинство API хранилищ файлов имеют своего рода API загрузки по частям.

В некоторых проектах я просто использовал window.fetch для отправки многочастного запроса в мой API.

Есть несколько учебных пособий и библиотек.в этом другом посте: Можно ли загрузить файл на сервер с помощью socket.io в node.js?

...