Загрузить файл с помощью RestSharp и Xamarin - PullRequest
0 голосов
/ 06 декабря 2018

Я уже перепробовал все темы, которые нашел здесь, и ни одна из них мне не помогла.Моя проблема в том, что я пытаюсь загрузить файл на REST-сервер.Этот сервер построен с NancyFX.Маршрут загрузки файла выглядит следующим образом

Put["/upload_prj"] = _ =>
        {
            if(!Directory.Exists(pfad))
            {
                Directory.CreateDirectory(pfad);
            }
            var file = Request.Files.Single();
            var fullName = Path.Combine(pfad, file.Name);

            using (var fileStream = File.Create(fullName))
            {

                file.Value.CopyTo(fileStream);
            }

            return HttpStatusCode.OK;
        };

При использовании curl загрузка файла работает нормально.когда я использую консольное приложение Windows, написанное на C #, и использую RestSharp, все работает нормально.Это код, который я использую в Консольном приложении:

RestClient client = new RestClient("http://192.168.32.90:1234");
RestRequest request = new RestRequest("/upload_prj");
request.Method = Method.PUT;
request.AlwaysMultipartFormData = true;;
byte[] dataToUpload = File.ReadAllBytes("test.txt");
request.AddFileBytes("test.txt", dataToUpload, "test.txt");
var response = client.Execute(request);
Console.WriteLine(response.StatusCode.ToString());

Когда я использую тот же код exat в приложении для Android, написанном на C # с использованием Xamarin, я получаю в качестве кода состояния 0 и ничего не загружается.

Уже отключил брандмауэр Windows, попытался использовать POST вместо PUT и прочитать почти все темы, которые я нашел здесь.

Кто-нибудь здесь, кто может мне помочь?

...