Angular 的多部分请求
Multipart requests with Angular
所以,我正在尝试 post 一个包含 angular 的多部分请求,但请求负载与我的预期不符。
我在做什么:
function sendBroadcastImage(ids, img) {
var fd = new FormData();
fd.append('destinationUsersIds', angular.toJson({
values : ids
}));
fd.append('file', img);
$http.post(
'/some/api/url/',
fd,
{
transformRequest: angular.identity,
headers: { 'Content-Type': undefined }
});
}
我得到这个负载:
------WebKitFormBoundary3KBBZ9GEkqoGGQMC
Content-Disposition: form-data; name="destinationUsersIds"
{"values":[2235]}
------WebKitFormBoundary3KBBZ9GEkqoGGQMC
Content-Disposition: form-data; name="file"; filename="capacete.jpg"
Content-Type: image/jpeg
------WebKitFormBoundary3KBBZ9GEkqoGGQMC--
我需要什么负载(第一个边界也有内容类型):
------WebKitFormBoundary3KBBZ9GEkqoGGQMC
Content-Disposition: form-data; name="destinationUsersIds"
Content-Type: application/json
{"values":[2235]}
------WebKitFormBoundary3KBBZ9GEkqoGGQMC
Content-Disposition: form-data; name="file"; filename="capacete.jpg"
Content-Type: image/jpeg
------WebKitFormBoundary3KBBZ9GEkqoGGQMC--
可能吗?我该怎么做?
根据 this 人和 FormData 的文档,您可以使用 Blob 附加具有特定内容类型的字段。
var fd = new FormData();
formData.append('destinationUsersIds', new Blob([angular.toJson({
values: ids
})], {
type: "application/json"
}));
让我知道这是否适合你。
所以,我正在尝试 post 一个包含 angular 的多部分请求,但请求负载与我的预期不符。 我在做什么:
function sendBroadcastImage(ids, img) {
var fd = new FormData();
fd.append('destinationUsersIds', angular.toJson({
values : ids
}));
fd.append('file', img);
$http.post(
'/some/api/url/',
fd,
{
transformRequest: angular.identity,
headers: { 'Content-Type': undefined }
});
}
我得到这个负载:
------WebKitFormBoundary3KBBZ9GEkqoGGQMC
Content-Disposition: form-data; name="destinationUsersIds"
{"values":[2235]}
------WebKitFormBoundary3KBBZ9GEkqoGGQMC
Content-Disposition: form-data; name="file"; filename="capacete.jpg"
Content-Type: image/jpeg
------WebKitFormBoundary3KBBZ9GEkqoGGQMC--
我需要什么负载(第一个边界也有内容类型):
------WebKitFormBoundary3KBBZ9GEkqoGGQMC
Content-Disposition: form-data; name="destinationUsersIds"
Content-Type: application/json
{"values":[2235]}
------WebKitFormBoundary3KBBZ9GEkqoGGQMC
Content-Disposition: form-data; name="file"; filename="capacete.jpg"
Content-Type: image/jpeg
------WebKitFormBoundary3KBBZ9GEkqoGGQMC--
可能吗?我该怎么做?
根据 this 人和 FormData 的文档,您可以使用 Blob 附加具有特定内容类型的字段。
var fd = new FormData();
formData.append('destinationUsersIds', new Blob([angular.toJson({
values: ids
})], {
type: "application/json"
}));
让我知道这是否适合你。