我正在使用 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
我的快递里面时,我的数据作为[object Object]返回。
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;
};
...
}
还有其他方法可以解决这个问题吗?
编辑 好吧,似乎人们不理解所以也许我问错了问题。
注意:这不是正文解析器问题。
问题是我的数据包含对象,因此数据以 [object Object] 的形式出现。
我的端点在上面的原始帖子中。
当我的数据看起来像这样时,我将其提供给我的 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