我正在使用具有quasar应用程序的应用程序进行工作,但是当我使用该组件创建文件上传时,无法将文件分成小部分发送...
看看代码...
<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方法..
感激
答案 0 :(得分:0)
您必须在UI上将文件拆分为可管理的块,然后将每个文件发送到单独的消息中。在服务器上,您必须收集所有块并将它们放在某个位置。大多数文件存储API都有某种分块的上载API。
在一些项目中,我只是使用window.fetch向我的API发送多部分请求。
这另一篇文章中有一些教程和库:Can I upload a file to server by socket.io in node.js?