繁体   English   中英

通过网络服务发送图像

[英]send image via web service

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

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

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

  2. 如何通过Web服务(字节[]或?)传输图像(代码)。

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

问题1:

DB降级中的图像或链接较旧,但仍未解析。 有一份Microsoft 白皮书提出 ,建议(对于SQL Server 2008,因此您的工作量可能会有所不同),对于150k DB以下存储的图像/二进制文件是一个很好的折衷方案。 如果大多数图像都已结束,请使用链接(如果位于下方)存储在DB中。

问题2:

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

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

无论哪种情况,您都需要在客户端上拦截它,然后转换回映像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM