webapi的返回类型,webapi返回图片

简介: 原文:webapi的返回类型,webapi返回图片 1.0 首先是返回常用的系统类型,当然这些返回方式不常用到。如:int,string,list,array等。这些类型直接返回即可。 1 public List Get() 2 { 3 List list = new List() { "11","22","33"}; 4 return list; 5 } 1.1 用不同的浏览器测试发现,返回的类型竟然是不一样的。

原文:webapi的返回类型,webapi返回图片

1.0 首先是返回常用的系统类型,当然这些返回方式不常用到。如:int,string,list,array等。这些类型直接返回即可。

1 public List<string> Get()
2         {
3             List<string> list = new List<string>() { "11","22","33"};
4             return list;
5         }

1.1 用不同的浏览器测试发现,返回的类型竟然是不一样的。如用ie,edge返回的是json,而用chrome,firefox返回的是xml类型。后来才知道原来WebApi的返回值类型是根据客户端的请求报文头的类型而确定的。IE在发生http请求时请求头accpet节点相比Firefox和Chrome缺少"application/xml"类型,由于WebAPI返回数据为xml或json格式,IE没有发送可接受xml和json类型,所以默认为json格式数据,而Firefox和chrome则发送了可接受xml类型。请参考:http://www.cnblogs.com/lzrabbit/archive/2013/03/19/2948522.html

2.0 返回json类型数据。这也是最常用的方式。

 public HttpResponseMessage Get()
         {
             var jsonStr = "{\"code\":0,\"data\":\"abc\"}";
             var result = new HttpResponseMessage(HttpStatusCode.OK)
             {
                 Content = new StringContent(jsonStr, Encoding.UTF8, "text/json")
             };
             return result;
         }

3.0 返回流类型数据,如:图片类型。

 public HttpResponseMessage Get()
         {
             var imgPath = System.Web.Hosting.HostingEnvironment.MapPath("~/111.jpg");
             //从图片中读取byte
             var imgByte = File.ReadAllBytes(imgPath);
             //从图片中读取流
             var imgStream = new MemoryStream(File.ReadAllBytes(imgPath));
             var resp = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StreamContent(imgStream)
                 //或者
                 //Content = new ByteArrayContent(imgByte)
             };
             resp.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpg");
             return resp;
         }
目录
相关文章
|
2月前
|
前端开发 JavaScript
解决Ajax发送DELETE请求时后台无法接收到参数的问题(Restful风格)
解决Ajax发送DELETE请求时后台无法接收到参数的问题(Restful风格)
40 0
|
2月前
|
JSON Java 数据格式
SpringBoot 统一响应返回格式格式 数组
SpringBoot 统一响应返回格式格式 数组
|
3月前
|
Java 容器
SpringMVC中参数是如何绑定and返回结果是如何解析的?
SpringMVC中参数是如何绑定and返回结果是如何解析的?
29 0
|
8月前
|
人工智能
Postman测试数组列表类型的参数后端用@RequestParam接受
Postman测试数组列表类型的参数后端用@RequestParam接受
|
JSON 数据格式
fastadmin设置默认返回json类型
fastadmin设置默认返回json类型
365 0
|
JSON 前端开发 Java
使用postman传递list集合后台springmvc接收
使用postman传递list集合后台springmvc接收
370 0
 使用postman传递list集合后台springmvc接收
|
Web App开发 JSON JavaScript
艾伟:WCF以Json格式返回对象,客户端以JS调用显示
很少写东西,但是看到别人写的文章自己又禁不住写点,写了有时候又觉得不好意思给大家看! 今天好不容易鼓起勇气写点…… 这几天看了一些WCF的资料 第一感觉是:这玩艺太深了 第二感觉是:这玩艺,挺麻烦的(光配置就搞不明白) 今天调了半天,好不容易把这个返回Json对象,在客户端展示的实例给整理出来了。
651 0
|
Web App开发 程序员 API
C# web api 返回类型设置为json的两种方法
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默。我眼中的程序员大多都不爱说话,默默承受着编程的巨大压力,除了技术上的交流外,他们不愿意也不擅长和别人交流,更不乐意任何人走进他们的内心!    悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来。
2139 0