LINUX.ORG.RU

Загрузка документов

 ,


0

1

Загрузка файлов на сервера ВК происходит в 3 этапа:

  • получение url сервера;
  • загрузка файла;
  • сохранение файла.

Для http запросов использую request. На втором этапе возникла проблема. Вот код:

let options = {
  url: url, // адрес сервера с шага 1
  formData: {
    file: req.body, // файл в формате multipart/form-data
  }
};

request.post(options, (error, response, body) => {
  // тут body содержит "{"error":"unknown error"}"
});

Вот тут можно посмотреть на результатирующий запрос. В документации сказано:

Передайте файл на адрес upload_url, полученный в предыдущем пункте, сформировав POST-запрос с полем file. Это поле должно содержать файл в формате multipart/form-data.

Кто-то может подсказать, в чем проблема?

★★★★★

Что-то подозрительно без имени файла и mime-type. И не уверен что req.body буфер а не строка.

Попробуй по честному сформировать, как custom_file в примере https://github.com/request/request#multipartform-data-multipart-form-uploads

PS. А еще можно request на got заменить, но на результат не повлияет.

Vit ★★★★★
()

Еще подозрительно что UserAgent у тебя не передается. Например на сайте Victoria Secret без него запросы к картинкам фейлятся :)

Я б предложил затрейсить какой-нибудь успешный запрос и сравнить заголовки.

Vit ★★★★★
()
Ответ на: комментарий от Vit

Например на сайте Victoria Secret

Интересный сайт для примера выбран (-;

Проблема оказалась куда проще, я не тот тип файла загружал, тестировал на html-ке (она первая под руку подвернулась). Да, они отдают «unknown error» на неподходящий тип файла...

ostin ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.