webapi 返回不同格式的数据

本文介绍如何使用WebAPI返回不同类型的响应,包括JSON数据、图片文件和纯文本字符串。通过具体代码示例展示了如何配置响应类型并返回相应内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1.      //默认返回 json              GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

                GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(                 new QueryStringMapping("datatype", "json", "application/json"));  

                ////返回格式选择 datatype 可以替换为任何参数               //GlobalConfiguration.Configuration.Formatters.XmlFormatter.MediaTypeMappings.Add(              //    new QueryStringMapping("datatype", "xml", "application/xml")); 

  2. using System.IO;  
  3. /// <summary>  
  4. /// WebApi返回图片  
  5. /// </summary>  
  6. public HttpResponseMessage GetQrCode()  
  7. {  
  8.     var imgPath = @"D:\ITdosCom\Images\itdos.jpg";  
  9.     //从图片中读取byte  
  10.     var imgByte = File.ReadAllBytes(imgPath);  
  11.     //从图片中读取流  
  12.     var imgStream = new MemoryStream(File.ReadAllBytes(imgPath));  
  13.     var resp = new HttpResponseMessage(HttpStatusCode.OK)  
  14.     {  
  15.         Content = new ByteArrayContent(imgByte)  
  16.         //或者  
  17.         //Content = new StreamContent(stream)  
  18.     };  
  19.     resp.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpg");  
  20.     return resp;  
  21. }  
  22. /// <summary>  
  23. /// WebApi返回json数据  
  24. /// </summary>  
  25. public HttpResponseMessage GetQrCode()  
  26. {  
  27.     var jsonStr = "{\"IsSuccess\":true,\"Data\":\"www.itdos.com\"}";  
  28.     var result = new HttpResponseMessage(HttpStatusCode.OK)  
  29.                     {  
  30.                         Content = new StringContent(jsonStr, Encoding.UTF8, "text/json")  
  31.                     };  
  32.     return result;  
  33. }  
  34. /// <summary>  
  35. /// WebApi返回字符串  
  36. /// </summary>  
  37. public HttpResponseMessage GetQrCode()  
  38. {  
  39.     var str = "IT大师www.itdos.com";  
  40.     var result = new HttpResponseMessage(HttpStatusCode.OK)  
  41.                     {  
  42.                         Content = new StringContent(str, Encoding.UTF8, "text/plain")  
  43.                     };  
  44.     return result;  
  45. }  

转载于:https://www.cnblogs.com/hf-0712/p/6037469.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值