【问题标题】:send image via web service通过网络服务发送图像
【发布时间】:2010-07-25 06:21:24
【问题描述】:

我想通过 Visual Studio 2008(C# 和 ASP)编写一个具有 Web 应用程序和 Windows 应用程序的程序。

我想在网络应用程序(上传)中获取客户端图像并将它们存储在数据库(mysql)中,然后通过网络服务将这些图像发送到 Windows 应用程序(所以我是新的网络服务,而不是网站)。但我有两个问题:

  1. 我有 2 种方法在 mysql 中存储图像,首先我应该在 DB 中有 BLOB 字段-它需要更多空间-,其次我应该只在 DB 中保存每个图像的名称(所以在一个文件夹中保存图像) - 这样我不知道如何从客户端获取图像并将它们存储在该文件夹中-。哪一个?还是其他什么?

  2. 如何(代码)通过网络服务传输图像(Byte[] 或?)。

【问题讨论】:

    标签: c# asp.net wcf web-services


    【解决方案1】:

    使用 WCF 传输图像的选项之一是将图像转换为字节数组并将其传递给客户端。然后在客户端从 byte[] 转换为图像。

    【讨论】:

      【解决方案2】:

      问题一:

      DB debase 中的图像或链接是旧的并且仍未解决。有一个 microsoftwhite paper 建议(对于 SQL Server 2008,因此您的里程可能会有所不同)对于 150k 数据库存储以下的图像/二进制文件是一个很好的折衷方案。如果大多数图像都结束了,请使用链接,如果低于,则存储在 DB 中。

      问题 2:

      Web 服务将有一个 http 上下文对象,因此您可以简单地使用 Response.BinaryWrite 方法,该方法采用 byte[]。您仍然需要编写正确的标题(用于 mime 类型等)。

      对于磁盘上的文件,最简单的做法是使用带有文件路径参数的Response.WriteFile 方法。

      在任何一种情况下,您都需要在客户端截取它并转换回图像。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-31
        • 1970-01-01
        相关资源
        最近更新 更多