我正在尝试从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对此具有很好的控制,我可以将MediaFile
放在Xam.Plugin.Media
中,以便我可以直接上传?
Xam.Plugin.Media
用于从移动设备中挑选图像。
太多的选择,所以,这就是为什么我要寻找好的建议。
以前有人经历过同样的问题吗?请帮助。
有关其他信息,我不能使用system.io.file,xamarin.forms不会让我使用它。
当xam.plugin.media完成从相机上加载媒体或从库中加载媒体时,它会返回媒体文件。此对象可以将其转换为字节数组,并具有类似的内容:
byte[] byteArray;
using (var memoryStream = new MemoryStream ())
{
mediaFile.GetStream ().CopyTo (memoryStream);
mediaFile.Dispose ();
byteArray = memoryStream.ToArray ();
}
现在您拥有字节数组,您只需要将其传递给将图像上传到后端的方法。