欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET?Core實(shí)現(xiàn)動(dòng)態(tài)獲取文件并下載

 更新時(shí)間:2022年01月14日 09:48:18   作者:癡者工良  
這篇文章介紹了ASP.NET?Core實(shí)現(xiàn)動(dòng)態(tài)獲取文件并下載的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

ASP.NET Core 中,可以在靜態(tài)目錄添加文件,直接訪問就可以下載。但是這種方法可能不安全,也不夠靈活。

我們可以在 Controller 控制器中 添加 一個(gè) Action,通過此Action,即可訪問服務(wù)器的任何文件。

Action 格式

    public FileResult Down()
        {
        return File(xxx,xxx,xxx);
        }

File() 對象

問題在于這個(gè) File() 對象,應(yīng)該怎么寫

筆者舉個(gè)例子

在100%無錯(cuò)的條件下,文件路徑 F:\a.txt

  • 1,創(chuàng)建一個(gè)文件流 FileStream
  • 2,獲取文件類型 Content-Type,可以用代碼獲取,也可以用字符串填寫
  • 3,設(shè)置文件名
var stream = System.IO.File.OpenRead(“F:\a.txt”);  //創(chuàng)建文件流

txt 的文件類型為 text/plain

設(shè)置文件名為 b.txt

那么返回的File 代碼如下

return File(stream, "text/plain", “b.txt");

就這么簡單。

獲取文件類型

C#獲取文件類型可以參考

http://www.dbjr.com.cn/article/234584.htm

關(guān)于文件類型對應(yīng)得Context-Type

http://tools.jb51.net/table/http_content_type

筆者附上小方法

//引入
using System.IO;

var contentype = MimeMapping.GetMimeMapping(fileName);      //獲取文件類型

動(dòng)態(tài)獲取文件

 public FileResult DownSH(string DownM)  //要下載文件碼
        {
            var path = _sqlContext.jexusSqls.FirstOrDefault(a => a.DownM == DownM.ToString()).FilePath;  //在數(shù)據(jù)庫查找此文件碼的文件地址
            if (!System.IO.File.Exists(path)) return null;

            var stream = System.IO.File.OpenRead(path);  //創(chuàng)建文件流

            return File(stream, "application/x-sh", DownM+".sh");
        }

編寫方式多種多樣,只需要解決文件流、文件類型、文件名,這三個(gè)核心即可。

到此這篇關(guān)于ASP.NET Core實(shí)現(xiàn)動(dòng)態(tài)獲取文件并下載的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論