C# Vimeo Upload - не работает

Я пытаюсь загрузить видео в свой профессиональный аккаунт в Vimeo, используя документацию Vimeo по адресу: https://developer.vimeo.com/api/upload/videos

Просто, чтобы попробовать, я сделал простое консольное приложение на C#: я могу получить upload_ticket.

Когда я "ставлю" видео с помощью WebClient.UploadData, файл отправляется.

try
        {
            WebClient wc = new WebClient();
            wc.Headers.Clear();
            wc.Headers.Add("Authorization", "bearer xxxxxxxxxxx");
            wc.Headers.Add("type", "streaming");                

            var vimeoTicket = JsonConvert.DeserializeObject<JObject>(wc.UploadString("https://api.vimeo.com/me/videos", "POST", ""));

            var file = File.ReadAllBytes(@"d:\3.mp4");

            wc.Headers.Clear();                

            var result= wc.UploadData(new Uri(vimeoTicket["upload_link_secure"].ToString()), "PUT", file);              

            WebClient wc1 = new WebClient();
            wc1.Headers.Clear();
            wc1.Headers.Add("Content-Range", "bytes */*");

            //This line will get me an execption {"The remote server returned an error: (308) Resume Incomplete."}
            var ff1 = wc1.UploadData(vimeoTicket["upload_link_secure"].ToString(), "PUT", new byte[0]);                
        }
        catch (Exception h)
        {

            throw;
        }

в документе API написано: "Если этот файл существует, он вернет ответ с кодом состояния HTTP 308 и заголовком Range с количеством байтов на сервере".

Так почему я получаю исключение без, и я не получаю никакого ответа, как в документе?

Спасибо

1 ответ

Решение

По какой-то причине WebClient обрабатывает ответ 308 как ошибку, сейчас мне удалось поместить нужный мне код в блок исключений - пока я не найду способ убедить, что WebClinet 308 не враг...

Другие вопросы по тегам