Из браузера напрямую в ВК
не получится. Из
nodejs или
Electron'а – запросто.
Ключевой момент здесь – ответ сервера ВК на загрузку к ним файла картинки. Они отвечают без
CORS-заголовков и браузер считает такой ответ небезопасным, делая его недоступным JS-скриптам.
Загрузка файлов в ВК хорошо описана в их
документации. Три шага:
- получить адрес сервера, принимающего картинку
- отправить туда картинку методом POST и получить ответ
- используя «ответ» сохранить фото в нужный альбом или на стену.
Всё это легко делается и на JavaScript, вот только политика безопасности браузеров не позволяет получать ответ с чужого сервера, если тот не сопровождается специальными HTTP-заголовками. А ВК их не даёт из каких-то своих соображений «безопасности», как мне ответила их тех.поддержка:
Поэтому можно реализовать загрузку только через свой сервер.