Код: Выделить всё
using (var dclient = new WebClient())
{
dclient.DownloadFile(filepath, $"pic.{filepath.Split('.').ToList().Last().ToLower()}");
}
Stream fileStream = System.IO.File.OpenRead("C:\\link\\to\\the\\picture\\file\\pic.jpg");
content.Add(new StreamContent(fileStream), "file1", "pic.jpg");
request.Content = content;
HttpResponseMessage response = client.SendAsync(request).Result;
string answer = response.Content.ReadAsStringAsync().Result;
Код: Выделить всё
string server = answer.Split(new string[] { "\"server\":" }, StringSplitOptions.None)[1].Split(',')[0];
string aid = answer.Split(new string[] { "\"aid\":" }, StringSplitOptions.None)[1].Split(',')[0];
string gid = answer.Split(new string[] { "\"gid\":" }, StringSplitOptions.None)[1].Split('}')[0];
string hash = Regex.Unescape(answer.Split(new string[] { "\"hash\":" }, StringSplitOptions.None)[1].Split(',')[0].Replace("\\", ""));
string photosList = answer.Split(new string[] { "\"photos_list\":" }, StringSplitOptions.None)[1].Split(new string[] {"aid"},
StringSplitOptions.None)[0];
MultipartFormDataContent content2 = new MultipartFormDataContent();
content2.Add(new StringContent(server), "server");
content2.Add(new StringContent(aid), "album_id");
content2.Add(new StringContent(token), "access_token");
content2.Add(new StringContent("5.131"), "v");
content2.Add(new StringContent(gid), "group_id");
content2.Add(new StringContent(photosList, Encoding.UTF8), "photos_list");
content2.Add(new StringContent(hash), "hash");
Итак, здесь мы «разбираем» json и получаем все интересные вещи. photosList в частности. Когда я смотрю на эту переменную, я вижу это

Видите? Отвратительные побеги! \" в частности!
И это большая проблема.
Я пытался от них избавиться практически всем: заменяет, удаляет , регулярное выражение (хотя я мог бы облажаться, но да ладно, это регулярное выражение (и да, Unescape тоже не сработал)) - ничего не работает. Когда я пытаюсь передать эту строку на сервер, она просто идет сюда со всеми \ " в строке, как если бы это были просто символы
Код: Выделить всё
{"error":{"error_code":100,"error_msg":"One of the parameters specified was missing or invalid: photos_list is invalid","request_params":[{"key":"method","value":"photos.save"},{"key":"oauth","value":"1"},{"key":"server","value":"1245"},{"key":"album_id","value":"1234"},{"key":"v","value":"12245"},{"key":"group_id","value":"12345"},{"key":"photos_list","value":"\"[{\"markers_restarted\":true,\"photo\":\"97963f1fa9:x\",\"sizes\":[],\"latitude\":0,\"longitude\":0,\"kid\":\"ace4769af7a2266eb2a3241155d151b3\",
Подробнее здесь: https://stackoverflow.com/questions/790 ... in-c-sharp