powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / photos.getWallUploadServer как добавить фото на стену в VK
13 сообщений из 13, страница 1 из 1
photos.getWallUploadServer как добавить фото на стену в VK
    #39052278
Spartak19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как загрузить изображение на стену в ВК через API
Приложение зарегал id получил, токен тоже
1) photos.getWallUploadServer
Возвращает адрес сервера для загрузки фотографии на стену пользователя или сообщества(реализовал)
2)Необходимо загрузить фото на адрес полученный от сервера после первого действия(Как это сделать не знаю из-за своего тугодумия, то ли из-за отсутствия нормально примера на сайте VK, подозреваю через Webclient но как решить это не в курсе)
3)photos.saveWallPhoto сохраняем фото по полученным данным от сервера после предыдущего действия.

Все надо сделать VB.net, примеры есть на c++ и других языках, но знаю более-менее VB.net(не судите строго)
Бьюсь над этой проблемой уже долго, буду признателен за любую помощь
...
Рейтинг: 0 / 0
photos.getWallUploadServer как добавить фото на стену в VK
    #39052311
Spartak19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Абсолютно нигде нет информации как это сделать на VB.net(((
...
Рейтинг: 0 / 0
photos.getWallUploadServer как добавить фото на стену в VK
    #39052315
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Spartak19, на C# есть? Если да, то приведи ссылку и если пример не слишком длинный, то я помогу с переносом на VB.NET
...
Рейтинг: 0 / 0
photos.getWallUploadServer как добавить фото на стену в VK
    #39052322
Spartak19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazile,
Примерно так на C# http://www.cyberforum.ru/csharp-net/thread1425079.html
...
Рейтинг: 0 / 0
photos.getWallUploadServer как добавить фото на стену в VK
    #39052323
Spartak19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
photos.getWallUploadServer как добавить фото на стену в VK
    #39052651
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Spartak19Примерно так на C# http://www.cyberforum.ru/csharp-net/thread1425079.html
Исходный код на C#
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
public static bool PostImage()
{
    FileInfo imageFile = new DirectoryInfo("Images").GetFiles("*.jpg")[0];
    var api = new VkApi();
    api.Authorize(4857486, "Логин", "Пароль", Settings.All);

    long groupId = 100; // ИД ГРУППЫ
    UploadServerInfo uploadServer = api.Photo.GetWallUploadServer(groupId);
    var uploader = new WebClient();
    byte[] uploadResponse = uploader.UploadFile(uploadServer.UploadUrl, imageFile.FullName);
    string jsonResponse = Encoding.UTF8.GetString(uploadResponse);

    JObject jsonObject = (JObject)JsonConvert.DeserializeObject(jsonResponse);
    string hashParameter = jsonObject["hash"].ToString();
    string serverParameter = jsonObject["server"].ToString();
    string photoParameter = jsonObject["photo"].ToString();
     
    ReadOnlyCollection<Photo> photos = api.Photo.SaveWallPhoto(
        photoParameter,
        uploadServer.UserId,
        groupId,
        long.Parse(serverParameter),
        hashParameter);

    var attachments = new List<MediaAttachment>();
    attachments.AddRange(photos);
    long wallPostResult = api.Wall.Post(groupId, false, true, "", attachments, null);

    return true;
}


Тоже самое на VB.NET. Код проверен только на отсутствие ошибок компиляции.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
Imports System
Imports System.Collections.Generic
Imports System.Collections.ObjectModel
Imports System.IO
Imports System.Net
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Imports VkNet
Imports VkNet.Enums.Filters
Imports VkNet.Model.Attachments
Imports VkNet.Model

Public Shared Function PostImage() As Boolean
    Dim imageFile As FileInfo = New DirectoryInfo("Images").GetFiles("*.jpg")(0)
    Dim api As New VkApi()
    api.Authorize(4857486, "Логин", "Пароль", Settings.All)

    Dim groupId As Long = 100 ' ИД ГРУППЫ
    Dim uploadServer As UploadServerInfo = api.Photo.GetWallUploadServer(groupId)
    Dim uploader As New WebClient()
    Dim uploadResponse() As Byte = uploader.UploadFile(uploadServer.UploadUrl, imageFile.FullName)
    Dim jsonResponse As String = Encoding.UTF8.GetString(uploadResponse)

    Dim jsonObject As JObject = DirectCast(JsonConvert.DeserializeObject(jsonResponse), JObject)
    Dim hashParameter As String = jsonObject("hash").ToString()
    Dim serverParameter As String = jsonObject("server").ToString()
    Dim photoParameter As String = jsonObject("photo").ToString()
     
    Dim photos As ReadOnlyCollection(Of Photo) = api.Photo.SaveWallPhoto( _
        photoParameter, _
        uploadServer.UserId, _
        groupId, _
        long.Parse(serverParameter), _
        hashParameter)

    Dim attachments As New List(Of MediaAttachment)()
    attachments.AddRange(photos)
    Dim wallPostResult As Long = api.Wall.Post(groupId, False, True, "", attachments, Nothing)

    Return True
End Function
...
Рейтинг: 0 / 0
photos.getWallUploadServer как добавить фото на стену в VK
    #39053303
Spartak19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazile,
Спасибо))) Осталось только библиотеки найти
...
Рейтинг: 0 / 0
photos.getWallUploadServer как добавить фото на стену в VK
    #39053333
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Spartak19, если ты о VkNet, до ничего искать не надо - добавь её через NuGet
...
Рейтинг: 0 / 0
photos.getWallUploadServer как добавить фото на стену в VK
    #39053337
Spartak19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazile,

Добавил, теперь ошибка
Предупреждение 1 не удалось разрешить указанную ссылкой сборку "VkNet", поскольку она зависит от "System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", отсутствующей в текущей целевой платформе ".NETFramework,Version=v4.0,Profile=Client". Удалите ссылки на сборки не в целевой платформе или рассмотрите возможность переориентации проекта

Надо поменять NET Framework 4 Client Profile на .NET Framework 4 не знаю как
...
Рейтинг: 0 / 0
photos.getWallUploadServer как добавить фото на стену в VK
    #39053365
Spartak19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Spartak19,

Решил проблему
...
Рейтинг: 0 / 0
photos.getWallUploadServer как добавить фото на стену в VK
    #39053476
Spartak19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Spartak19,
Теперь другой косяк
Невозможно загрузить файл или сборку "Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=33ad8fe6b9a1aeed" или один из зависимых от них компонентов. Найденное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
...
Рейтинг: 0 / 0
photos.getWallUploadServer как добавить фото на стену в VK
    #39053783
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Spartak19, попробуй выполнить Build -> Clean и откомпилировать заново.
...
Рейтинг: 0 / 0
photos.getWallUploadServer как добавить фото на стену в VK
    #39054317
Spartak19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazile,

Более старая версия библиотеки Newtonsoft.Json помогла
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / photos.getWallUploadServer как добавить фото на стену в VK
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]