В настоящее время я использую FilePond через Vue-Adapter в моем приложении, и он работает нормально.
Мой текущий код для этого вопроса выглядит так:
<template>
<v-layout>
<v-flex class="text-center">
<FilePond
ref="pond"
name="file"
chunk-uploads="true"
:chunk-size="chunkSize"
class-name="my-pond"
label-idle="Drop files here..."
:allow-multiple="allowMultiple"
:files="myFiles"
:server="server"
@init="handleFilePondInit"
@error="error"
@processfile="updatefiles"
@addfile="testlog"
/>
</v-flex>
</v-layout>
</template>
server
-Property выглядит так:
computed: {
headers() {
return {
Authorization: this.$auth.getToken('local'),
projectId: this.projectId,
};
},
server() {
return {
url: 'http://localhost:3001/api/filepond/',
process: {
url: 'process',
headers: this.headers,
},
patch: {
url: 'patch?id=',
headers: this.headers,
},
};
},
chunkSize() {
return this.$config.chunk_size_byte;
},
},
Эта настройка работает нормально. FilePond работает так, как задумано, и мои пользовательские заголовки добавляются в дополнение к заголовкам, которые предоставляет FilePond. Теперь я столкнулся с проблемой, когда мне нужно имя файла также в process
-запросе, который обычно не отправляется, когда следует patch
-запрос.
Я нашел эту проблему GitHub, которая, по сути, является моей проблемой.
Однако если я изменю вычисленное значение server
на следующий код, мои заголовки вообще не будут применяться.
server() {
return {
url: 'http://localhost:3001/api/filepond/',
process: {
url: 'process',
headers: (file, metaData) => ({
Authorization: this.$auth.getToken('local'),
projectId: this.projectId,
filename: file.filename,
}),
},
patch: {
url: 'patch?id=',
headers: this.headers,
},
};
},