首页 > 解决方案 > 将图片从手机上传到服务器

问题描述

我正在为 Android 和 iOS 开发一个 Xamarin.Forms 应用程序,该应用程序需要拍照并将其上传到服务器。然后,为了在客户端拍摄照片,我使用了 Xam.Plugin.Media。

但是,由于此插件以 Xamarin.Forms.Image 格式保存照片,并且我需要在服务器端以 System.Drawing.Image 格式保存它们,所以首先我尝试将 Xam.Plugin.Media 拍摄的照片保存在字节数组中,将其上传到服务器然后将Bytes数组保存为System.Drawing.Image格式,但不起作用。

之后,我在网上搜索了几天如何转换格式,我没有找到任何有用的东西,无论是在移动端使用 Xamarin 转换还是在服务器端使用 C# 转换。

谁能帮助我应对这个挑战?

在此先感谢并为我糟糕的英语感到抱歉。

马塞洛·卡马拉特

标签: xamarin.formsxamarin-studio

解决方案


首先,我会使用MediaPickerXamarin Essentials而不是过时的媒体插件。其次,FileResult您返回的提供了对 a 的访问权限Stream,您可以将其复制到一个MemoryStreamahich,您可以将其复制到一个字节数组,使用MemoryStream.ToArray()它可以为您提供byte[]. 您可以在我链接到的页面上看到一个示例,说明如何从照片中获取流以及其他方法的各种文档以找出您需要的内容。

然后,您可以根据您的服务器 API 上传您想要的字节。


推荐阅读