2017-01-30 8 views
2

Я пытаюсь сделать многостраничный запрос POST для моего API с использованием суперагента.Как отправить объект вместе с прикрепленным файлом в многоаспектном суперагентном запросе?

Мой код:

superagent 
    .post(apiUrl + '/api/company/profile/edit') 
    .field("profileData", profileData) 
    .attach('company_logo', logoFile) 
    .set('Accept', 'application/json') 
    .end(function(err, res){ 
    if(err){ 
     dispatch(updateProfileStatusAction("error", res)); 
    } else { 
     dispatch(updateProfileStatusAction("success", res)); 
    } 
    }); 

Проблема, которую я имею что profileData является объектом, который вложен. Когда я получаю запрос в API я вижу значение profileData как строка [Object, Object]

Когда я смотрю на документацию для многочастного запроса с SuperAgent https://visionmedia.github.io/superagent/#multipart-requests представляется как .field() предназначается, чтобы быть просто ключ, значение пары, а затем объект. Затем я попытался использовать .send ({profileData: profileData}) вместо поля, но когда я это сделаю, я получаю сообщение о том, что .attach и .send не могут использоваться вместе в одном запросе.

ответ

1

Я думаю, этого должно быть достаточно, чтобы использовать JSON.stringify() для преобразования JS_Object в строку JSON.

superagent 
.post(apiUrl + '/api/company/profile/edit') 
.field("profileData", JSON.stringify(profileData)) 
.attach('company_logo', logoFile) 
...