попробуйте отправить изображение в json с моего nestjs api на другой api

Я пытаюсь отправить json с изображением на другой api из моего nesjs api, я использую httpservice.post, но всегда получаю сообщение об ошибке - файл не предоставляется.

изображение загружается пользователем и сохраняется в общей папке, затем я пытаюсь получить изображение из папки и отправить его в api.

в удаленном api они ожидают - изображение необработанных данных и Content-Type: multipart / form-data в заголовке, я пробовал оба, но это не работает.

это код:

const image = await fs.createReadStream(`./public/storage/images/${image.filename}`);

let imageData = {
            "file": image,
            "caption": tag,
            "isLogo": false
}

const res = await this.httpService.post(
                    `${urlapi}`,
                   imageData,
                    {   
                        headers: {
                            "Authorization": `Bearer ${access_token}`,
                            "Content-Type": "application/json"
                        }   
                    }
                )
                .toPromise();

Я новичок в nestjs и node, я был бы очень признателен за помощь.


person user14207225    schedule 02.09.2020    source источник
comment
Вы можете прочитать изображение, которое хотите отправить, как необработанное, и отправить его через свой API.   -  person Rebai Ahmed    schedule 02.09.2020
comment
Как мне это сделать? все, что я пробовал, не работает.   -  person user14207225    schedule 02.09.2020
comment
Соответствующее изображение существует в <projectRoot>/dist/public/storage/images/${image.filename}? Если нет, то это объясняет, почему там нет файла.   -  person Jay McDoniel    schedule 02.09.2020
comment
да, мне удалось скопировать его в другую папку, я думаю, моя проблема связана с отправкой изображения в httpservie. Я тоже пробовал использовать аксиомы, но это не работает.   -  person user14207225    schedule 03.09.2020
comment
@ hgb123 Хотя мы ценим то, что вы редактируете сообщения и улучшаете их, любезно избегайте внесения изменений в код что OP использовал.   -  person Bhargav Rao    schedule 04.09.2020
comment
@BhargavRao хм, какие критерии в присланной вами ссылке я нарушил?   -  person hgb123    schedule 04.09.2020
comment
@ hgb123, удалив двойные кавычки, точки с запятой и т. д. Старайтесь не вносить изменения в код.   -  person Bhargav Rao    schedule 04.09.2020
comment
NestJS использует axios, поэтому вы можете использовать Google для получения дополнительных результатов. Я думаю, это может решить вашу задачу: stackoverflow.com/a/53040878/6533425 - в основном вам нужен новый объект FormData и присоединить к нему поток чтения изображений. Что переходишь на axios.   -  person Can    schedule 04.09.2020
comment
Я пробовал это с данными формы и аксиомами, все та же ошибка - файл не предоставлен :(   -  person user14207225    schedule 07.09.2020