Vk api: Неизвестная ошибка при попытке загрузки файла - C#

Узнай цену своей работы

Формулировка задачи:

Пытаюсь загрузить фото в свою группу со своего приложения. Получаю ответ :
Security Breach2
Сразу несколько ответов: да, я запросил нужные права; у меня 100% правильный url сервера; я гуглил почти два часа, поэтому и прошу у Вас помощи
 byte[] pic = File.ReadAllBytes(@"C:\Users\vlad-_000\Desktop\фото\Кольца\1_180  грн.jpg");
 
            HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(url);
            string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");
            string _templateFile = "--{0}\r\nContent-Disposition: form-data; name:\"{1}\"; filename:\"{2}\";Content-Type: {3}; \r\n photo_file:";
            string _templateEnd = "--{0}--\r\n\r\n";
            Request.Method = "POST";
            Request.ContentType = String.Format("multipart/form-data; boundary={0}", boundary);
            
            Stream stream = Request.GetRequestStream();
            string FilePath = "file1.jpg";
            string FileType = "application/octet-stream";
            string Name = "file1";
            byte[] contentFile = Encoding.UTF8.GetBytes(String.Format(_templateFile, boundary, Name, FilePath, FileType));
            stream.Write(contentFile, 0, contentFile.Length);
            stream.Write(pic, 0, pic.Length);
            byte[] contentEnd = Encoding.UTF8.GetBytes(String.Format(_templateEnd, boundary));
            stream.Write(contentEnd, 0, contentEnd.Length);
            HttpWebResponse webResponse = (HttpWebResponse)Request.GetResponse();
            StreamReader read = new StreamReader(webResponse.GetResponseStream());
            string answer = read.ReadToEnd();
И да, я первый раз пытаюсь отправить запрос вообще Правила загрузки фото в альбомы. Чего не хватает у меня?
Загрузка фотографий в альбом пользователя Загрузка фотографий на сервер ВКонтакте от имени пользователя осуществляется приложением в 3 этапа: 1. С помощью метода photos.getUploadServer приложение узнает http-адрес для загрузки фотографий в зависимости от альбома, в который их необходимо загрузить. 2. Приложение формирует POST-запрос на полученный адрес. Запрос должен содержать поля file1-file5, которые содержат файлы с изображениями (JPG, PNG, BMP или GIF). В ответ приложение получает следующие данные в формате JSON: {"server": '1', "photos_list": '2,3,4', "album_id": '5', "hash": '12345abcde'} Обратите внимание, что ответ сервера всегда приходит в формате JSON, а поля server, photos_list, album_id и hash в нем содержат строки, внутренний формат которых может изменяться со временем. В частности, строка photos_list может содержать другой json-объект, который не следует декодировать, разбирать на части или иным образом модифицировать. 3. С помощью метода photos.save приложение передает серверу полученные данные (server, photos_list, album_id и hash) и получает данные о загруженных изображениях

Решение задачи: «Vk api: Неизвестная ошибка при попытке загрузки файла»

textual
Листинг программы
POST http://cs622822.vk.com/upload.php HTTP/1.1
Host: cs622822.vk.com
Connection: keep-alive
Content-Length: 986
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://vk.com
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.74 Safari/537.36 OPR/28.0.1750.36 (Edition beta)
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary4q6JgV3xPDIeKPEZ
DNT: 1
Referer: http://vk.com/album261787454_212186600
Accept-Encoding: gzip, deflate, lzma
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: remixdt=-3600; remixstid=562604965_d2e141d2501808c8c7; remixlang=0; remixtst=459b9af9; remixseenads=1; audio_vol=13; remixsid=3d5dc5df29dab45ff3e920d88f0f3f6ece5d7f2288cae5f9a1307; remixrefkey=c815a39a8d6aa5271c; remixflash=16.0.0; remixscreen_depth=24

------WebKitFormBoundary4q6JgV3xPDIeKPEZ
Content-Disposition: form-data; name="mid"

261787454
------WebKitFormBoundary4q6JgV3xPDIeKPEZ
Content-Disposition: form-data; name="aid"

212186600
------WebKitFormBoundary4q6JgV3xPDIeKPEZ
Content-Disposition: form-data; name="gid"

0
------WebKitFormBoundary4q6JgV3xPDIeKPEZ
Content-Disposition: form-data; name="hash"

a1bb9d0e3a61aa466f103177b47e0660
------WebKitFormBoundary4q6JgV3xPDIeKPEZ
Content-Disposition: form-data; name="rhash"

d9f8e201998a69b222a82ae0c57f682c
------WebKitFormBoundary4q6JgV3xPDIeKPEZ
Content-Disposition: form-data; name="al"

1
------WebKitFormBoundary4q6JgV3xPDIeKPEZ
Content-Disposition: form-data; name="act"

check_upload
------WebKitFormBoundary4q6JgV3xPDIeKPEZ
Content-Disposition: form-data; name="type"

photo
------WebKitFormBoundary4q6JgV3xPDIeKPEZ
Content-Disposition: form-data; name="ondone"

Upload.callbacks.oncheck4
------WebKitFormBoundary4q6JgV3xPDIeKPEZ--

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы