Xamarin [RestSharp] + [Xam.Plugin.Media]上传包含图片的模型

时间:2017-03-04 21:13:16

标签: xamarin xamarin.forms restsharp

我尝试从xamarin.forms上传图片并使用restsharp进行api服务。

RestRequest uploadPostRestRequest = new RestRequest("post/create/", Method.POST);
uploadPostRestRequest.AddJsonBody(uploadPostRequest);

这是我的模型UploadPostRequest

public class UploadPostRequest
{
    public string content;
    public byte[] image;
}

问题 - 将图像类型设置为byte[]是否正确? 服务器是接受这个还是restsharp管理它?

如果RestSharp对此有一个很好的控制,我可以从MediaFileXam.Plugin.Media,这样我就可以上传它了吗?

Xam.Plugin.Media用于从移动设备中挑选图片。

选择太多,所以,这就是我寻找好建议的原因。

以前是否有人遇到过同样的问题?请帮忙。

有关其他信息,我无法使用System.IO.File,Xamarin.Forms不会让我使用它。

1 个答案:

答案 0 :(得分:1)

当Xam.Plugin.Media完成从相机或库中加载媒体时,它返回MediaFile。这个对象可以转换为字节数组,如下所示:

byte[] byteArray;
using (var memoryStream = new MemoryStream ())
{
    mediaFile.GetStream ().CopyTo (memoryStream);
    mediaFile.Dispose ();
    byteArray = memoryStream.ToArray ();
}

现在您需要将字节数组传递给将上传图像到后端的方法。