Vk api: Неизвестная ошибка при попытке загрузки файла - C#
Формулировка задачи:
Пытаюсь загрузить фото в свою группу со своего приложения.
Получаю ответ : Сразу несколько ответов: да, я запросил нужные права; у меня 100% правильный url сервера; я гуглил почти два часа, поэтому и прошу у Вас помощи
Security Breach2
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--
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д