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类型数据。这也是最常用的方式。

1 public HttpResponseMessage Get()
2         {
3             var jsonStr = "{\"code\":0,\"data\":\"abc\"}";
4             var result = new HttpResponseMessage(HttpStatusCode.OK)
5             {
6                 Content = new StringContent(jsonStr, Encoding.UTF8, "text/json")
7             };
8             return result;
9         }

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

 1 public HttpResponseMessage Get()
 2         {
 3             var imgPath = System.Web.Hosting.HostingEnvironment.MapPath("~/111.jpg");
 4             //从图片中读取byte
 5             var imgByte = File.ReadAllBytes(imgPath);
 6             //从图片中读取流
 7             var imgStream = new MemoryStream(File.ReadAllBytes(imgPath));
 8             var resp = new HttpResponseMessage(HttpStatusCode.OK)
 9             {
10                 Content = new StreamContent(imgStream)
11                 //或者
12                 //Content = new ByteArrayContent(imgByte)
13             };
14             resp.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpg");
15             return resp;
16         }
时间: 2024-12-19 10:22:51

webapi的返回类型,webapi返回图片的相关文章

mybatis中查询结果为空时不同返回类型对应返回值

今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同类型,查询结果为空时dao接口的返回值是一样的吗?接下来我就总结一下常见的几种情况. 第一种:resultType为基本类型,如string(在此暂且把string归纳为基本类型) 如果select的结果为空,则dao接口返回结果为null 第二种,resultType为基本类型,如int 后台报异

Java之协变返回类型详解(附源码)

前言 Java SE5中添加了协变返回类型,它表示在导出类中的被覆盖方法可以返回基类方法的返回类型的某种导出类型: 示例源码 package com.mufeng.theeighthchapter; class Grain { @Override public String toString() { // TODO Auto-generated method stub return "Grain"; } } class Wheat extends Grain { @Override p

Spring MVC控制层的返回类型--String类型与Bean类型

SpringMVC控制层的返回类型形式多样,现拿其中的两种--String类型与Bean类型作以说明. 一.测试项目的结构 说明:(jsp的名字没起好) 控制层:UserController.java --对用户的相关操作: 视图层:toFormTest.jsp--跳转至formTest.jsp (这样跳转的原因:1.由于jsp文件夹在WEB-INF目录下,所以无法直接访问:2.在目标地址formTest.jsp中的表单采用了sf标签,需在控制层中初始化表单所绑定的bean对象,所以需先进入控制

Java协变返回类型

今天看到句话:“支持重写方法时返回协变类型”. 那么什么事协变类型?在网上找了找资料,大体上明白了. Java 5.0添加了对协变返回类型的支持,即子类覆盖(即重写)基类方法时,返回的类型可以是基类方法返回类型的子类.协变返回类型允许返回更为具体的类型.示例程序如下: 代码如下: import java.io.ByteArrayInputStream; import java.io.InputStream; class Base { //子类Derive将重写此方法,将返回类型设置为InputS

常见表达式返回类型 (复习)

常见表达式返回类型总结 返回类型是一个非常重要的概念,它是指一个表达式运算结果的类型. 声明变量:void 一个变量声明的表达式,返回类型是void(无返回类型). int a // 这是一条变量声明语句,该表达式无返回类型int b = 1 // 注意,这仍然是一条变量声明语句!该表达式无返回类型 变量赋值:返回类型和变量类型相同 一条变量赋值的表达式,返回类型就是该变量的类型,返回结果就是该变量的值. int a, b;double c; // 该表达式返回类型int.返回结果1a = 1;

WebAPi学习笔记之 Api和返回类型(Action Results in Web API 2)

这篇文章主要是从英文翻译过来的,原文地址http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/action-results 本文主要介绍ASP.NET WebAPI如何转换API返回值到HTTP响应消息的. 一个WebAPI可以返回下面类型中的一个: 1.void 2.HttpResponseMessage 3.IHttpActionResult 4.别的类型 更具上面的不同返回类型,WebAPI使用不同的

C# WebApi之接口返回类型详解

转自:https://www.cnblogs.com/hnsongbiao/p/9375888.html Webapi的接口返回值主要有四种类型 void无返回值 IHttpActionResult HttpResponseMessage 自定义类型 void无返回值 大家都知道void声明的是一个无返回值的方法,声明一个api控制器方法,例如: public class ValuesController : ApiController { [HttpGet] public void Get()

WebAPi返回类型到底应该是什么才合适,这是个问题?

前言 有些问题只有真正遇到或者用到并且多加思考才会想到,平常若作为自学的心态去学习则不会考虑太多,我慢慢明白对于那些有太多要学的东西或者说的更加明确而且具体一点的话,如果对于你现在不是迫切要学或者需要掌握的技能,那就暂且放在一边吧,比如现在比较火的angular和react,我之前也花时间去学了,但是公司压根不用或者有专门的前端你学多了貌似没什么很大的实际用途,其实仅仅做一点基本的了解即可,至少别人问起也知道一二,不要看到别人学什么或者火了什么就盲目跟风,还是根据自身实际情况来学习才是王道.这不

[经验分享]WebAPI中返回类型JsonMessage的应用

这是一个绝无仅有的好类型,一个你爱不释手的好类型,好了,不扯了,直接上干货. 相信大家都知道,在调用接口的时候返回Json数据已经成为一种不成文的标准,因为它的解析快,易读等优秀的特性,所以被绝大多数的程序猿们所喜爱. 今天就给大家介绍一种您可能忽略或者还不知道的返回类型JsonMessage 1 /// <summary> 2 /// 返回消息 3 /// </summary> 4 public class JsonMessage 5 { 6 /// <summary>