将图像从 Android 发送到 ASP.NET Web 服务

2024-01-28

我正在开发一个 Android 应用程序,它应该将图像发送到我的 ASP.NET Web 服务,图像将保存为文件。我已经看到了几种方法可以做到这一点,我选择了这种方法:将图像转换为字节数组 -> 将字节数组转换为字符串 -> 使用 KSOAP2 将字符串发送到 Web 服务 -> 接收字符串在 Web 服务 -> 将其转换为字节数组 ->将其另存为图像:

IVtest = (ImageView)findViewById(R.id.carticon);
BitmapDrawable drawable = (BitmapDrawable) IVtest.getDrawable();
    Bitmap bitmap = drawable.getBitmap();

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
    byte[] data = baos.toByteArray();
    ImageView image=new ImageView(this);
    image.setImageBitmap(bmp);
    String strBase64 = Base64.encode(data);

然后我将 strBase64 发送到 Web 服务。 在网络服务中我有这个:

public Image ConvertToImage(byte[] image)
{
    MemoryStream ms = new MemoryStream(image);
    Image returnImage = Image.FromStream(ms);
    return returnImage;
}

[WebMethod]
public String UploadImage(String image, String name)
{
    byte[] image_byte = Encoding.Unicode.GetBytes(image);
    Image convertedImage = ConvertToImage(image_byte);
    try {
        convertedImage.Save(Server.MapPath("generated_image.jpg"),     System.Drawing.Imaging.ImageFormat.Jpeg);
    } catch (Exception e) {
        return e.Message;
    }
    return "Success";
}

我收到一个错误line: Image returnImage = Image.FromStream(ms);

这是我得到的错误:

SoapFault - faultcode: 'soap:Server' faultstring: 'System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ArgumentException: Parameter is not valid.
   at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)
   at System.Drawing.Image.FromStream(Stream stream)
   at Service.ConvertToImage(Byte[] image) in e:\FTP\nvm\Service.asmx:line 1366
   at Service.UploadImage(String image, String name) in e:\FTP\nvm\Service.asmx:line 1374
   --- End of inner exception stack trace ---' faultactor: 'null' detail: org.kxml2.kdom.Node@437bf7b0

Thanks


从字符串到图像的转换似乎有些问题。此外,您没有处理会泄漏内存的流。

试试这个:

private Image Base64ToImage(string base64String)
    {
        // Convert Base64 String to byte[]
        byte[] imageBytes = Convert.FromBase64String(base64String);
        using (var ms = new MemoryStream(imageBytes, 0,
                                         imageBytes.Length))
        {
            // Convert byte[] to Image
            ms.Write(imageBytes, 0, imageBytes.Length);
            Image image = Image.FromStream(ms, true);
            return image;
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将图像从 Android 发送到 ASP.NET Web 服务 的相关文章

  • 从剪贴板获取图像 Awt 与 FX

    最近 我们的 Java FX 应用程序无法再从剪贴板读取图像 例如 用户在 Microsofts Paint 中选择图像的一部分并按复制 我不是在谈论复制的图像文件 它们工作得很好 我很确定它过去已经有效 但我仍然需要验证这一点 尽管如此
  • Google Games API 需要 games_lite 函数

    我使用 Google Play 游戏服务 我从官方示例中获取了代码 尝试使用 API 27 和 API 17 所有功能仅在一个帐户 所有者 Google 开发者控制台 下有效 在任何其他帐户下均有效 不行 我明白了 E AndroidRun
  • MVC3 和实体框架

    我的问题很简单 将 edmxMVC3 项目的 Web 应用程序的模型文件夹中的文件吗 我的答案非常简单 不要用数据访问逻辑和数据建模搞乱表示层 整个 MVC 应用程序 Visual Studio 解决方案中从下到上至少有 4 个项目 1 P
  • 如何使用 JavaScript 上传文件而不进行回发?

    我正在 ASP NET 中进行文件上传 我用了
  • 使用“邮递员”chrome 应用程序的肥皂请求正文

    假日网络服务 的肥皂请求正文会是什么样子 http www holidaywebservice com HolidayService v2 HolidayService2 asmx wsdl http www holidaywebservi
  • Galaxy Nexus 4.1.1 和 ISO14443 读卡器

    是否可以在 Galaxy Nexus Jelly Bean 4 1 1 移动设备和任何常规桌面非接触式读卡器 ISO 14443 A B 之间建立连接 据我所知 android不支持卡模拟模式 所以只能通过p2p模式来完成 p2p 是否基于
  • 如何获取 Android 中临时文件的文件大小?

    如果我使用 openFileOutput 创建并写入临时文件 写入完成后如何获取文件大小 我希望这可以帮助你 File file new File selectedPath int file size Integer parseInt St
  • Android LayerDrawable.setDrawableByLayerId 不适用于 HTC Sensation(和其他?)

    我正在使用 LayerDrawable 在底层图像 索引 0 上构建一系列热点 索引 1 热点是根据用户界面交互添加的 并且它们的位置是动态的 因此我以编程方式完成所有这些操作 而不是使用 XML 作为进一步 可能不相关 的细节 我使用 F
  • 在 Python 中倾斜数组

    我有一个 2D 数组 我将使用它保存为灰度图像scipy misc toimage 在此之前 我想将图像倾斜给定角度 像这样进行插值scipy ndimage interpolation rotate 上图只是为了说明倾斜过程 我知道我必须
  • 错误:包 com.google.android.gms.appstate 不存在

    由于此错误 无法编译我的 android 项目 BaseGameUtils src main java com google example games basegameutils GameHelper java Error 32 39 e
  • Android 应用程序 Phonegap 中的 Admob 实现

    我将一个 jquery 脚本转换为 Android 应用程序 现在我想将 admob 添加到其中 这可能吗 谷歌从那时起禁止在移动应用程序中使用 AdSense 在移动应用程序中使用 AdSense 移动广告违反了 AdSense 政策 移
  • 更改弹出对话框的背景颜色

    我编写了显示弹出对话框的 android 代码 但我想将背景颜色从黑色更改为白色 然后更改文字颜色 这是对话框的代码 mPrefs PreferenceManager getDefaultSharedPreferences this Boo
  • setKeyListener 将覆盖 setInputType 并更改键盘

    大家好 我在两个设备之间遇到问题 在实践中使用InputType和KeyListener我正在操纵一个EditText让它从数字键盘接收逗号和数字 有关更多背景信息 请检查我之前的question https stackoverflow c
  • 如何在任何给定时刻找到我的网站 (IIS 7/asp.net) 的访问者/用户数量?

    我需要显示有多少用户正在浏览我的网站 该网站运行在iis7上 我们使用的是asp net 3 5 活跃会话的数量是一个好的方法吗 该数字不需要非常准确 不需要历史记录 我只想知道现在有多少用户 在线 并将其显示在页面本身上 您可以为此使用
  • 在运行时用Dagger添加Retrofit RequestInterceptor

    我正在使用匕首和改装 我用 Dagger 注入我的 Retrofit 服务 现在我想做一个授权请求来获取 accessToken 之后 我想使用请求拦截器来增强我的 api 模块 以便将此访问令牌用于将来的请求 我的想法是在收到访问令牌后使
  • 更改 Xamarin 中 ListView 所选项目的背景颜色

    我在 Xamarin 中创建了一个主从类型项目 当我从主页中选择一个项目时 背景颜色默认为橙色 我怎样才能将其更改为我选择的颜色 此问题是 Android 特有的 在 Android 项目中将此行添加到 Resources values s
  • Eclipse:缺少 Java 构建路径

    我正在尝试使用 Eclipse 来使用适用于 Android 的 Google SDK 教程 我能够让前两个项目正常工作 但是当运行第三个 R java 时消失了 所以我放弃了 我根据练习 3 的解决方案集制作了一个全新的包 它充满了错误
  • 禁用 ASPNET 身份 2.0 中的用户

    我正在寻找一种方法来禁用用户而不是从系统中删除它们 这是为了保持相关数据的数据完整性 但似乎 ASPNET 身份只提供删除帐户 有一个新的锁定功能 但似乎可以控制锁定以禁用用户 但只有在尝试了一定次数的错误密码后才将用户锁定 还有其他选择吗
  • 我可以在 Android Market 上出售我的 SL4A 应用程序吗?

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用 SL4A 在 Android 上使用 Python 开发一个应用程序 并且我想知道是否可以将其作为应用程序在 Android Market
  • RecyclerView 不调用 onCreateViewHolder 或 onBindView

    没有收到任何错误 所有数据似乎都有效 由于某种原因 没有调用与视图相关的方法 我已确定以下事项 getItemCount 是唯一被调用的适配器方法 并且返回一个正整数值 我知道这将是你们将要查看的区域 构造函数正在被调用 成员变量有效 Pa

随机推荐

  • 将 SQL STATISTICS TIME 和 IO 捕获到表中

    有没有办法捕捉STATISTICS IO and TIME在 T SQL 中 用于登录表 Sort of 与给出的统计数据相同SET STATISTICS TIME由查询统计 DMV 捕获 sys dm exec query stats h
  • 下一个更高/更低的 IEEE 双精度数

    我正在做高精度的科学计算 在寻找各种效果的最佳表示时 我不断想出想要获得下一个更高 或更低 可用双精度数的理由 本质上 我想要做的是将 1 添加到 double 的内部表示中的最低有效位 困难在于 IEEE 格式并不完全统一 如果要使用低级
  • 如何在反应传单中制作椭圆形?

    我想在反应传单中制作一个椭圆形 我已经检查过这个问题如何在react leaflet中制作一个椭圆形 https stackoverflow com questions 49089011 how can one make an ellips
  • Lombok 和 Jackson - 冲突/不明确的属性名称定义

    我收到一条警告消息 com fasterxml jackson databind JsonMappingException Conflicting ambiguous property name definitions implicit n
  • 使用随机森林的 AUC 基特征重要性

    我正在尝试使用随机森林和逻辑回归来预测二元变量 我的类别严重不平衡 Y 1 的大约 1 5 随机森林中的默认特征重要性技术基于分类准确性 错误率 这已被证明对于不平衡类来说是一个不好的衡量标准 请参阅here http www biomed
  • 为 mac ruby​​ 开发设置 .emacs 文件

    我在 Mac 上的 emacs 中加载 ruby 模式时遇到困难 emacs 文件位于 emacs 我已经向其中添加了几个命令 许多命令是从该站点粘贴的 但似乎没有一个被加载 有什么建议吗 我不确定文件是否未加载或者命令语法错误 我所需要的
  • 抛出“std::out_of_range”实例后调用终止

    我绝对是编程初学者 我在构建以下代码时遇到此错误 error terminate called after throwing an instance of std out of range what vector M range check
  • 发行说明,有什么用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • windows下修改ip地址的脚本

    我使用计算机通过以太网与硬件进行通信 为了与此设备通信 我将 IP 设置为 192 168 0 11 将子网掩码设置为 255 255 255 0 将 IPv4 的默认网关设置为 192 168 0 1 为了使用互联网 我通过控制面板选择
  • 如何将几何数据字段显示为文本

    我将 DELPHI 与 ADO 和 SQL Server 2014 一起使用 在我们的数据库表中 有一个用于几何数据的空间列 我们可以在该字段中读取和写入数据 更多信息如下 https learn microsoft com de de s
  • 找不到 ios 文档的 /var/mobile/applications 目录

    我正在尝试在连接到 xcode 的 iPad 设备上运行发布版本以进行调试 我不确定 但猜测当我这样做时 文档目录最终会出现在我的本地计算机上的某个位置 而不是在 iPad 上 就像我在没有 xcode 的情况下运行它时一样 我得到如下目录
  • 运行时动态选择方法;访客模式或反射的替代方案

    我正在开发一个小型游戏模板 其世界由如下节点组成 World Zone Cell Actor Actor Item Where a World可以包含多个Zone物体 一个Zone可以包含多个Cell对象等 其中每一个都实现了Node接口
  • perl 如何将字符串转换为日期时间?

    我尝试在 perl 中将字符串转换为日期 但出现错误 use strict use warnings use DateTime use Date Manip my date ParseDate 20111121 print today is
  • 服务工作线程不从缓存返回文件

    我正在尝试使用 Service Worker 缓存单页 Web 应用程序 它应该从缓存中获取所有文件 并仅在发布新的服务工作线程版本时更新该缓存 使用预缓存功能 我将一些文件写入缓存 如下所示 function precache retur
  • 如何区分 .Net 中的单击和双击?

    我想重写 OnMouseClick 和 OnMouseDoubleClick 并根据使用的单击样式执行不同的操作 问题是单击和双击都会发生 OnMouseClick 并且在 OnMouseDoubleClick 之前被调用 我确信这一定是一
  • Golang管道子命令实时输出

    我正在尝试通过管道传输命令的输出 但在写入端关闭之前似乎不会从管道中读取任何数据 最终我希望它连接到一个 websocket 该 websocket 在命令执行时流式传输命令的状态 问题是 虽然此代码逐行打印消息 但在程序执行完毕之前它不会
  • 在 Windows 和 Fedora 上安装 scapy 后,scapy 的 contrib 丢失

    我在 Windows 7 和 Fedora 机器上都安装了 scapy 但是 contrib 包没有安装 或者至少 它没有出现在我的 site packages scapy 包下 我怎样才能安装它 查看提供的 zip 文件http www
  • java中如何使用XPath查找带CDATA标签的节点值

    我使用XPath解析rss xml数据 数据为
  • 在 Joomla! 中设置页面标题3 来自模块

    我有一个现有模块 我使用 loadposition custom position 从文章中显示该模块 该文章链接到一个菜单项 我希望能够从此模块设置自定义页面标题 覆盖菜单项设置的页面标题 我尝试使用 document JFactory
  • 将图像从 Android 发送到 ASP.NET Web 服务

    我正在开发一个 Android 应用程序 它应该将图像发送到我的 ASP NET Web 服务 图像将保存为文件 我已经看到了几种方法可以做到这一点 我选择了这种方法 将图像转换为字节数组 gt 将字节数组转换为字符串 gt 使用 KSOA