c# – 从RESTful WCF服务返回映像

前端之家收集整理的这篇文章主要介绍了c# – 从RESTful WCF服务返回映像前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有这个非常简单的DTO:

[DataContract]
public class DTO
{
    [DataMember]
    public byte[] Image {get; set; }
}

这个非常简单的服务:

[ServiceContract]
public interface IFooService
{
    [WebGet(
        UriTemplate = "",RequestFormat = WebMessageFormat.Json,ResponseFormat = WebMessageFormat.Json)]
    List

在我的global.asax中,我有:

RouteTable.Routes.Add(new ServiceRoute("foo",new WebServiceHostFactory(),typeof(FooService)));

现在,当我从浏览器调用它时,我得到一个JSON格式的字节数组.目前很好.现在,如何将该字节数组转换为图像?

或者,有没有更好的方法解决这个问题?我尝试将byte []更改为Stream,但是当我从Firefox调用服务时,尽管HTTP状态代码为200,但响应仍为空.我正在使用Firebug和Fiddler.

我不认为这是相关的,但由于太多的信息从来没有伤害任何不是机器人的人,这里是web.config:

Metadata httpGetEnabled="true"/>
                    

最后,我想问题是:如何从WCF RESTful服务返回位图,以便在浏览器中运行的JavaScript可以在屏幕上抛出它?

最佳答案

Good so far. Now,how do I turn that array of bytes into an image?

由于您已使用javascript标记了您的问题,因此我假设您使用此服务来使用该服务,并且您希望在浏览器中显示该图像.如果是这种情况,您可以查看Data URI scheme,这将允许您显示给定从服务获得的字节的图像.

以下是如何使用jQuery使用此类服务​​并显示图像的示例:

$(function () {
    $.getJSON('/foo/',function (dtos) {
        $.each(dtos,function (index,dto) {
            var str = String.fromCharCode.apply(String,dto.Image);
            $('

$.base64.encode函数来自this plugin.

原文链接:https://www.f2er.com/js/429503.html

猜你在找的JavaScript相关文章