Страница 1 из 1
[node, js] загрузка картинки
Добавлено: 04 янв 2015, 15:05
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 - это урла для загрузки, которая возвращается с клиента
но всеравно не загружаєт картинку... пхп не подходит, ихмо юзаю ноду
Re: [node, js] загрузка картинки
Добавлено: 04 янв 2015, 16:38
XELAD
В приведенном коде не ясно, как вы фасуете переданные вами параметры, т.е. получает ли нечто_похожее_на_файл имя file1 перед передачей серверу вк. Также неизвестно, что вы получаете в ответе от сервера.
Re: [node, js] загрузка картинки
Добавлено: 05 янв 2015, 22:34
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"}
Re: [node, js] загрузка картинки
Добавлено: 06 янв 2015, 07:32
XELAD
То, что вы передаёте, не является файлом. В противном случае photo в ответе было бы не пустым. Когда-то сам разбирался с этим. Передаваться должна не ссылка на файл, а сам файл, с заголовком о содержимом.
Re: [node, js] загрузка картинки
Добавлено: 06 янв 2015, 13:55
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) }); });
ось цей код працює... народ якщо ви стикнулись з цією проблемою то більш всього що у вас бита картинка лижить в папці
юзаючи рестлер вам не треба нічого дописувати, юзайте так як тут написано.
Re: [node, js] загрузка картинки
Добавлено: 06 янв 2015, 13:58
Pacefist
благодарочка XELAD, що відкликнувася