2016-07-29 2 views
0

В Xamarin.Forms Я отправляю свое изображение, чтобы отдохнуть Api, в то время как в Add изображение не преобразуется по мере необходимости, получение и ошибка не могут преобразовать system.net.http.streamcontent в байт []Xamarin.forms image to rest api

HttpClient client = new HttpClient(); 
MultipartFormDataContent form = new MultipartFormDataContent(); 
form.Add(new ByteArrayContent(new StreamContent(new MemoryStream(image1)), "bilddatei", "upload.jpg")); 

в коде упоминается image1 это изображение, полученное с камеры, используя Xamarin.Forms, пожалуйста, помогите мне решить эту проблему, или дайте мне знать, альтернативных вариантов, чтобы отправить изображение на веб-службы отдых.

ответ

0

Похож, что вам необходимо передать byte[] вместо StreamContent. Попробуйте это:

var client = new HttpClient(); 
var form = new MultipartFormDataContent(); 
form.Add(new ByteArrayContent(new MemoryStream(image1).ToArray()), "bilddatei", "upload.jpg"); 

Update: Если вы сохраняете изображение на внешнем накопителе, вы можете отправить его любит:

var client = new HttpClient(); 
var form = new MultipartFormDataContent(); 
var path = "path/to/file"; 
form.Add(new ByteArrayContent(File.ReadAllBytes(path)), "bilddatei", "upload.jpg"); 
+0

Привет, Спасибо за вашу помощь по этому вопросу, я использую выше, как было предложено, я получаю сообщение об ошибке «невозможно преобразовать Xamarin.forms.image в byte []», любое предложение о том, как исправить это? –

+0

Можете ли вы разместить больше кода? было бы полезно узнать, откуда появляется изображение1 ... также я просто обновил ответ, вероятно, что поможет –

+0

public imageRest (изображение изображения) { this.image = image; //image.Source = "/Assets/Image1.png"; MemoryStream stream = new MemoryStream(); ReadFully (поток); } –