溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

ASP.NET Web Api如何通過(guò)文件流下載文件

發(fā)布時(shí)間:2021-07-02 15:33:02 來(lái)源:億速云 閱讀:1095 作者:chen 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容主要講解“ASP.NET Web Api如何通過(guò)文件流下載文件”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“ASP.NET Web Api如何通過(guò)文件流下載文件”吧!

下載文件到本地是很多項(xiàng)目開(kāi)發(fā)中需要實(shí)現(xiàn)的一個(gè)很簡(jiǎn)單的功能。說(shuō)簡(jiǎn)單,是從具體的代碼實(shí)現(xiàn)上來(lái)說(shuō)的,.NET的文件下載方式有很多種,本示例給大家介紹的是ASP.NET Web Api方式返回HttpResponseMessage下載文件到本地。實(shí)現(xiàn)的方法很簡(jiǎn)單,其中就是讀取服務(wù)器的指定路徑文件流,將其做為返回的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);
  }
 }
 }
}

實(shí)現(xiàn)以上控制器后,我們可以直接打開(kāi)這個(gè)api的地址(示例中的地址為:http://localhost:60560/download/get_demo_file),即可彈出下載文件的對(duì)話(huà)框了,如圖: asp-net-web-api-download-file 當(dāng)然,也可以直接通過(guò)示例項(xiàng)目首頁(yè)的下載鏈接體驗(yàn),點(diǎn)擊“下載示例文件”按鈕,將會(huì)彈出保存文件的提示。 好了,示例比較簡(jiǎn)單,不用多說(shuō)了。點(diǎn)擊這里下載示例源碼。

到此,相信大家對(duì)“ASP.NET Web Api如何通過(guò)文件流下載文件”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI