Я использую ngx-uploader и с разделом данных внутри uploadInput, я передаю дополнительные данные:
startUpload(): void {
const event: UploadInput = {
type: 'uploadAll',
url: this.uploadUrl,
method: 'post',
data: this.data,
headers: { 'Authorization': 'Token ' + this.userToken }
};
this.uploadInput.emit(event);
}
Проблема в том, что данные, которые я передаю, выглядят так
this.data = {
myData: {
isThereData: true
}
}
При чтении res.body
внутри моего экспресса мои данные возвращаются как [объектный объект].
router.post('/path', upload.any(), (req, res, next) => {
console.log(req.body) // logs [object, Object]
})
Я могу преобразовать данные в строку перед отправкой в экспресс, но затем мне нужно передатьтип содержимого данных вместе с данными из ngx-uploader
, в которых я не уверен, как это сделать, или если это вообще возможно.
Я знаю, что не могу передать объект из-за UploadInput
:
export interface UploadInput {
...
data?: {
[key: string]: string | Blob;
};
...
}
Есть ли другой способ сделать это?
РЕДАКТИРОВАТЬ Хорошо, кажется, что люди не понимают, поэтому, возможно, я задал вопрос неправильно.
Примечание: это не проблема анализатора тела.
Проблема в том, что мои данные содержат объекты, поэтому данные отображаются как [объектный объект].
Моя конечная точка находится в исходном сообщениивыше.
Когда мои данные выглядят так, и я передаю их ngx-uploader:
let data = {
greeting: 'hi',
color: 'green',
car: 'toyota',
}
В моем экспрессе, когда я регистрирую request.body
, данные идеальны.
, но когда мои данные выглядят так:
let data = {
greeting: {
hello: 'hi',
goodbye: 'bye'
},
car: {
type: 'toyota,
color: 'green'
}
}
В моем экспрессе, когда я регистрирую request.body
, мои данные возвращаются как [Object object]
.
В этом проблема.Теперь я могу упорядочить данные, но когда я передаю их через ngx-uploader
, express
не знает, что это JSON, поскольку ngx-uploader
требуется тип содержимого, передаваемый вместе с ним.Но я передаю изображение с некоторыми данными, и при изменении типа контента я получаю другие ошибки, и изображение перестает работать.
Поэтому проблема заключается в передаче данных в ngx-uploader
через свойство data
ngx-uploader