WebApi服务:图片、JSON与字符串响应示例

需积分: 9 17 下载量 154 浏览量 更新于2024-09-09 收藏 24KB DOC 举报
在本篇关于WebApi服务的代码片段中,我们主要探讨了如何通过ASP.NET Core中的HttpController来创建和返回不同类型的内容响应。WebApi是一种轻量级的Web服务架构,用于提供RESTful API(Representational State Transfer Application Programming Interface)以供客户端应用程序调用。 首先,让我们看一个方法,名为`GetQrCode`,它返回一个图片。在这个方法中,开发者首先定位到一个本地图片文件`D:\ITdosCom\Images\itdos.jpg`,然后使用`File.ReadAllBytes`方法读取图片文件内容转化为byte数组(imgByte)。接着,将byte数组封装在`MemoryStream`对象中(imgStream),这是因为` HttpResponseMessage`的`Content`属性可以接受多种类型的Content,包括内存中的流。为了指定响应的MIME类型,设置`Content.Headers.ContentType`为`image/jpg`,表明返回的是JPEG格式的图片。 接下来的两个`GetQrCode`方法分别返回JSON数据和纯文本字符串。在返回JSON数据的例子中,我们创建了一个包含键值对的JSON字符串(`{"IsSuccess":true,"Data":"www.itdos.com"}`),然后将其转换为`StringContent`,并指定了编码为UTF-8和媒体类型为`text/json`。这样,客户端可以解析这个JSON响应获取数据。 第三个方法是返回纯文本字符串,这里使用`StringContent`将字符串`"IT大师www.itdos.com"`与UTF-8编码关联,并设置了媒体类型为`text/plain`,表示返回的是纯文本内容。 总结来说,这些示例展示了如何使用ASP.NET Core的WebApi实现基本的HTTP响应,包括发送不同格式的数据:图像、JSON和纯文本。每个方法都展示了响应消息的构建过程,以及如何根据需要调整响应头信息和内容类型,以满足客户端的不同需求。在实际应用中,开发人员可以根据具体业务场景选择合适的返回内容类型和结构。