Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 显示来自WebAPI调用的图像_C#_Image_Asp.net Web Api_Knockout.js - Fatal编程技术网

C# 显示来自WebAPI调用的图像

C# 显示来自WebAPI调用的图像,c#,image,asp.net-web-api,knockout.js,C#,Image,Asp.net Web Api,Knockout.js,我已经在.Net后端服务中生成了一个映像,并且正在处理System.Drawing.image对象。我调用了WebAPI方法,渲染了图像,并希望将图像返回到前端并显示它 有没有一种方法可以让我这样做: self.Image=ko.observable() 然后将我的WebApi调用中的图像加载到self.image中(不确定返回类型) 然后呢?这其实很简单。您可以使用attr绑定来绑定任何html属性。下面是一个使用按钮执行任何您想要的操作(包括ajax)来加载图像的示例。顺便说一句,我不确定你

我已经在.Net后端服务中生成了一个映像,并且正在处理System.Drawing.image对象。我调用了WebAPI方法,渲染了图像,并希望将图像返回到前端并显示它

有没有一种方法可以让我这样做:

self.Image=ko.observable()

然后将我的WebApi调用中的图像加载到self.image中(不确定返回类型)


然后呢?

这其实很简单。您可以使用
attr
绑定来绑定任何html属性。下面是一个使用按钮执行任何您想要的操作(包括ajax)来加载图像的示例。顺便说一句,我不确定你的图像是什么,但是你当然可以使用数据URL绑定为
src

函数viewModel(){
var self=这个;
self.Image=ko.observable();
self.LoadImage=函数(){
//Ajax的东西
自我形象(“http://lorempizza.com/200/200");
}
}
ko.applyBindings(新viewModel())

加载图像
我计算出来了:

[Route("Preview"), HttpPost]
        public string Preview(PlateTemplateExtendedDto data)
        {
            var img = new PlateService().CreateTemplate(true);
            using (var ms = new MemoryStream())
            {
                img.Save(ms, ImageFormat.Jpeg);
                var base64 = "data:image/jpeg;base64," + Convert.ToBase64String(ms.ToArray());
                return base64;
            }
        }
然后在视图上,我只使用该文本作为源

<img data-bind="attr:{src: image}" class="img-responsive" style="margin: 0 auto;" />