ASP.NET(C#) Web Api通过文件流下载文件的实例
下载文件到本地是很多项目开发中需要实现的一个很简单的功能。说简单,是从具体的代码实现上来说的,.NET的文件下载方式有很多种,本示例给大家介绍的是ASP.NET Web Api方式返回HttpResponseMessage下载文件到本地。实现的方法很简单,其中就是读取服务器的指定路径文件流,将其做为返回的HttpResponseMessage的Content。直接贴出DownloadController控件器的代码:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Net.Http; using System.Net.Http.Headers; using System.Web.Http; namespace DownloadFileFromWebApi.Controllers { [RoutePrefix("download")] public class DownloadController : ApiController { [Route("get_demo_file")] public HttpResponseMessage GetFileFromWebApi() { try { var FilePath = System.Web.Hosting.HostingEnvironment.MapPath(@"~/download/EditPlus64_xp85.com.zip"); var stream = new FileStream(FilePath, FileMode.Open); HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK); response.Content = new StreamContent(stream); response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName="Wep Api Demo File.zip" }; return response; } catch { return new HttpResponseMessage(HttpStatusCode.NoContent); } } } }
实现以上控制器后,我们可以直接打开这个api的地址(示例中的地址为:http://localhost:60560/download/get_demo_file),即可弹出下载文件的对话框了,如图: asp-net-web-api-download-file 当然,也可以直接通过示例项目首页的下载链接体验,点击“下载示例文件”按钮,将会弹出保存文件的提示。 好了,示例比较简单,不用多说了。点击这里下载示例源码。
以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
asp.net中Fine Uploader文件上传组件使用介绍
最近在处理后台数据时需要实现文件上传.考虑到对浏览器适配上采用Fine Uploader. Fine Uploader 采用ajax方式实现对文件上传.同时在浏览器中直接支持文件拖拽[对浏览器版本有要求类似IE版本必须是9或是更高的IE10].2013-01-01ASP.NET2.0:页面中链入的CSS、js文件带中文时需注意
ASP.NET2.0:页面中链入的CSS、js文件带中文时需注意...2006-09-09WebForm获取checkbox选中的值(几个简单的示例)
WebForm中用checkbox的地方挺多的,下面写了几个简单的例子,方便以后学习使用2014-07-07Net core中使用System.Drawing对上传的图片流进行压缩(示例代码)
这篇文章主要介绍了Net core中使用System.Drawing对上传的图片流进行压缩,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-08-08Asp.net开发之webform图片水印和图片验证码的实现方法
这篇文章主要介绍了Asp.net开发之webform图片水印和图片验证码的实现方法,实现思路分为前后台代码和效果展示,非常不错具有参考借鉴价值,需要的朋友可以参考下2016-10-10
最新评论