xamarin.forms - 将图片从手机上传到服务器
问题描述
我正在为 Android 和 iOS 开发一个 Xamarin.Forms 应用程序,该应用程序需要拍照并将其上传到服务器。然后,为了在客户端拍摄照片,我使用了 Xam.Plugin.Media。
但是,由于此插件以 Xamarin.Forms.Image 格式保存照片,并且我需要在服务器端以 System.Drawing.Image 格式保存它们,所以首先我尝试将 Xam.Plugin.Media 拍摄的照片保存在字节数组中,将其上传到服务器然后将Bytes数组保存为System.Drawing.Image格式,但不起作用。
之后,我在网上搜索了几天如何转换格式,我没有找到任何有用的东西,无论是在移动端使用 Xamarin 转换还是在服务器端使用 C# 转换。
谁能帮助我应对这个挑战?
在此先感谢并为我糟糕的英语感到抱歉。
马塞洛·卡马拉特
解决方案
首先,我会使用MediaPicker
Xamarin Essentials而不是过时的媒体插件。其次,FileResult
您返回的提供了对 a 的访问权限Stream
,您可以将其复制到一个MemoryStream
ahich,您可以将其复制到一个字节数组,使用MemoryStream.ToArray()
它可以为您提供byte[]
. 您可以在我链接到的页面上看到一个示例,说明如何从照片中获取流以及其他方法的各种文档以找出您需要的内容。
然后,您可以根据您的服务器 API 上传您想要的字节。
推荐阅读
- php - 使用包含在 wordpress 页面中的数组中的图像创建 zip
- python - 在多个模块中处理/传播警报类的 Pythonic 方式
- javascript - Bootstrap hidden.bs.modal 事件未触发
- r - R: 为什么这个外部调用这么慢?我怎样才能加快速度?
- java - POM 中有没有办法为依赖包指定更高版本?
- postgresql - 在 postgreSQL 中转换为_timestamp
- reactjs - React:在卡片中呈现用户输入
- java - 如何动态获取谷歌电子表格的范围
- linux - 如何搜索字符串并将其附加到 gvim 中的上一行?
- python - 在为关键字参数设置默认值时,您可以引用位置参数吗?