[node, js] загрузка картинки

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
Pacefist
Сообщения: 4
Зарегистрирован: 04 янв 2015, 14:55

[node, js] загрузка картинки

Сообщение Pacefist »

знаю что нераз поднимался вопрос на этом сайте поповоду загрузки картинок на сервер вк, но никак не могу найти решение для nodejs

помогите кто знает

паследние решение что я нашел это:

Код: Выделить всё

   fs.stat("./tmp/file1.png", function(err, stats) {    restler.post(upload_data.upload_url, {      multipart: true,      data: {        photo: restler.file("./tmp/file1.png", null, stats.size, null, "image/png"),        content_type: 'image/png'      }    }).on("complete", function(data, header) {      console.log(header);    });  }); 

Код: Выделить всё

upload_data.upload_url - это урла для загрузки, которая возвращается  с клиента
но всеравно не загружаєт картинку... пхп не подходит, ихмо юзаю ноду
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: [node, js] загрузка картинки

Сообщение XELAD »

В приведенном коде не ясно, как вы фасуете переданные вами параметры, т.е. получает ли нечто_похожее_на_файл имя file1 перед передачей серверу вк. Также неизвестно, что вы получаете в ответе от сервера.
Pacefist
Сообщения: 4
Зарегистрирован: 04 янв 2015, 14:55

Re: [node, js] загрузка картинки

Сообщение Pacefist »

В приведенном коде не ясно, как вы фасуете переданные вами параметры, т.е. получает ли нечто_похожее_на_файл имя file1 перед передачей серверу вк. Также неизвестно, что вы получаете в ответе от сервера.
попробую более подробние описать суть проблемы,
я через клиент делаю запрос 'photos.getWallUploadServer', open vk api возвращает мне урлу по которой я буду отсылать картинку,

от здесь я юзаю restler которий сам уже разбирает переданю урлу на опции и делает мультипард дату з картинки, которая спокойно лежит в папочке, и в конце ее отправляет...

Код: Выделить всё

restler.post(upload_data.upload_url, {      multipart: true,      data: {        photo: restler.file("./tmp/file1.png", null, stats.size, null, "image/png"),        content_type: 'image/png'      }    })
смотрел в логах хедери которие она ( restler) формирует.. там все окей.... не могу понять в чему может быть еще проблема... тестирую я у себя на локальном компютере, через nginx настроил домен. по идее все должно бить тоже нормально но все равно возвращает

{"server":23719,"photo":"[]","hash":"d1esdfsa234234dfasfas"}
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: [node, js] загрузка картинки

Сообщение XELAD »

То, что вы передаёте, не является файлом. В противном случае photo в ответе было бы не пустым. Когда-то сам разбирался с этим. Передаваться должна не ссылка на файл, а сам файл, с заголовком о содержимом.
Pacefist
Сообщения: 4
Зарегистрирован: 04 янв 2015, 14:55

Re: [node, js] загрузка картинки

Сообщение Pacefist »

То, что вы передаёте, не является файлом. В противном случае photo в ответе было бы не пустым. Когда-то сам разбирался с этим. Передаваться должна не ссылка на файл, а сам файл, с заголовком о содержимом.
Усьо для мене тема закрита, пофіксив..

Код: Выделить всё

fs.stat("./tmp/logo.jpg", function(err, stats) {    restler.post(upload_data.upload_url, {      multipart: true,      data: {        "file1": restler.file("./tmp/logo.jpg", null, stats.size, null, "image/jpg")      }    }).on("complete", function(data, header) {      console.log(data);      res.send(data)    });  });
ось цей код працює... народ якщо ви стикнулись з цією проблемою то більш всього що у вас бита картинка лижить в папці
юзаючи рестлер вам не треба нічого дописувати, юзайте так як тут написано.
Pacefist
Сообщения: 4
Зарегистрирован: 04 янв 2015, 14:55

Re: [node, js] загрузка картинки

Сообщение Pacefist »

благодарочка XELAD, що відкликнувася :ugeek:
Ответить