Xamarin формы: Как преобразовать путь изображения в медиафайл? - PullRequest
0 голосов
/ 15 января 2019

У меня есть путь к файлу изображения, и я пытаюсь загрузить это изображение на сервер. Когда я загружаю эту картинку на сервер, мне нужно ее значение GetStream(). Я покажу пример кода, который я использовал в другом месте:

var content = new MultipartFormDataContent();
content.Add(new StreamContent(_mediaFile.GetStream()), "\"file\"", $"\"{_mediaFile.Path}\"");
var response = await httpClient.PostAsync(new Uri("My REST API"), content);

if (response.IsSuccessStatusCode)
{
   //Success
}

Где _mediaFile является MediaFile

private MediaFile _mediaFile;

Но в настоящее время у меня есть только путь к изображению. Так есть ли способ преобразовать путь изображения в MediaFile или в любом случае получить значение GetStream() пути изображения?

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Вот пример способа загрузки изображения в API.

private async void UploadImage()
{
    //variable
            var url = "yourUrl.com";
        var filePath = "path/to/file.ext";

            try
            {
                //read file into upfilebytes array
                var fileBytes = File.ReadAllBytes(filePath);

                //create new HttpClient and MultipartFormDataContent and add our file, and StudentId
                HttpClient client = new HttpClient();
                MultipartFormDataContent content = new MultipartFormDataContent();
                ByteArrayContent byteContent = new ByteArrayContent(upfilebytes);
                content.Add(byteContent, "File", "filename.ext");


                //upload MultipartFormDataContent content async and store response in response var
                var response =
                    await client.PostAsync(url, content);

                //read response result as a string async into json var
                var responsestr = response.Content.ReadAsStringAsync().Result;

                //debug
                Debug.WriteLine(responsestr);

            }
            catch (Exception e)
            {
                //debug
                Debug.WriteLine("Exception Caught: " + e.ToString());

                return;
            }
}
0 голосов
/ 15 января 2019

File.Open (путь) вернет FileStream

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...