Гнездо JS Загрузить файл, тело пусто - PullRequest
0 голосов
/ 06 апреля 2020

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

Но каждый раз, когда я отправляю данные на сервер, изображение null.

Я использую NEST JS файл-перехватчик и все из документов, но он не работает ??

Я использую Vue - bootstrap во внешнем интерфейсе & Nest JS на бэкэнде

Перед отправкой данных в бэкэнд мой объект выглядит так:

icon: { File
name: "ScreenShot.png"
lastModified: 1585642001136
lastModifiedDate: Tue Mar 31 2020 10:06:41 GMT+0200 (Central European Summer Time) {}
webkitRelativePath: ""
size: 53284
type: "image/png"
__proto__: File
},
name: "Test"

Но когда я console.log его на бэкэнде, он нулевой,

   @Post()
    @UseInterceptors(FilesInterceptor('icon', 1, { dest: 'tmp' }))
    async createData(
        @UploadedFiles() file: MulterFile[], @Body() data
    ) {
        console.log('Data');
        console.log(file); // this is null

        console.log(data); // this only contains name property, icon is null  like this { icon: null, name: "Test" }
    }

Кто-нибудь знает, в чем может быть проблема ??? Почему я получаю нулевое значение из объекта File ??

1 Ответ

0 голосов
/ 08 апреля 2020

Обнаружена проблема, я должен был использовать это как тело запроса:

const icon // my icon file
 const form = new FormData();
form.append('icon', icon);

request('patch', { url: `create`, data: form });
...