返回 System.Drawing.Image 实例的 Web 服务方法。需要什么编码吗?
我有一个网络服务,它将返回 System.Drawing.Image 对象的集合。我的问题是,我可以直接从 Web 服务发回 System.Drawing.Image 实例(假设此类实现 ISerialized 接口),还是必须对其应用某种类型的编码?
i have a web-service that will be returning a collection of System.Drawing.Image objects. My question is that can I directly send back a System.Drawing.Image instance from a web-service (given that this class implements ISerializable interface) or will I have to apply some type of encoding to it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您必须对其进行编码。 Web 服务的响应类型可以是非文本,但通常由带有文本负载的 XML 或 JSON 组成。
您可以将图像编码为 Base64,这可以将任何二进制文件转换为文本。另请参阅http://www.dailycoding.com/Posts/convert_image_to_base64_string_and_base64_string_to_image.aspx。
You will have to encode it. The response type of web services can be non-text, but typically consists of XML or JSON with a text payload.
You can encode your image as Base64, this can turn any binary into text. See also http://www.dailycoding.com/Posts/convert_image_to_base64_string_and_base64_string_to_image.aspx.
我还使用 System.Data.Linq.Binary 类通过 WCF 服务来回发送数据。我使用它是因为将其存储在 SQL Server 数据库中时不需要在服务器端进行任何额外的工作。尽管在 silverlight 方面需要做一些额外的工作才能将其转换回可用的格式。 (只需几行代码。)
I've used the System.Data.Linq.Binary class send the data back and forth over a WCF service as well. I used that because it didn't require any extra work on the server side when storing it in an SQL Server database. Although there was a little extra work on the silverlight side to convert it back into a usable format. (Just a few lines of code.)
如果您使用 WCF,您也可以将其作为流发送。
If you are using WCF, you can send it as a stream as well.