日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

[实战]MVC5+EF6+MySql企业网盘实战(15)——逻辑重构2

發布時間:2025/3/19 c/c++ 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [实战]MVC5+EF6+MySql企业网盘实战(15)——逻辑重构2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面

上篇文章修改文件上傳的邏輯,這篇修改下文件下載的邏輯。

系列文章

[EF]vs15+ef6+mysql code first方式

[實戰]MVC5+EF6+MySql企業網盤實戰(1)

[實戰]MVC5+EF6+MySql企業網盤實戰(2)——用戶注冊

[實戰]MVC5+EF6+MySql企業網盤實戰(3)——驗證碼

[實戰]MVC5+EF6+MySql企業網盤實戰(4)——上傳頭像

[Bootstrap]modal彈出框

[實戰]MVC5+EF6+MySql企業網盤實戰(5)——登錄界面,頭像等比例壓縮

[實戰]MVC5+EF6+MySql企業網盤實戰(5)——頁面模板

[實戰]MVC5+EF6+MySql企業網盤實戰(5)——ajax方式注冊

[實戰]MVC5+EF6+MySql企業網盤實戰(6)——ajax方式登錄

[實戰]MVC5+EF6+MySql企業網盤實戰(7)——文件上傳

[實戰]MVC5+EF6+MySql企業網盤實戰(8)——文件下載、刪除

[實戰]MVC5+EF6+MySql企業網盤實戰(9)——編輯文件名

[實戰]MVC5+EF6+MySql企業網盤實戰(10)——新建文件夾

[實戰]MVC5+EF6+MySql企業網盤實戰(11)——新建文件夾2

[實戰]MVC5+EF6+MySql企業網盤實戰(12)——新建文件夾和上傳文件

[實戰]MVC5+EF6+MySql企業網盤實戰(13)——編輯文件夾

[實戰]MVC5+EF6+MySql企業網盤實戰(14)——邏輯重構

[實戰]MVC5+EF6+MySql企業網盤實戰(15)——邏輯重構2

文件下載

下載傳入的參數不變,但是這個時候需要根據文件的md5,去目錄NetDisk中查找文件。這樣才能真正的找到物理文件。

代碼如下:

/// <summary>/// 文件下載/// </summary>/// <param name="fileId"></param>public void DownLoadFile(string fileId){UserInfo userInfo = Session["user"] as UserInfo;if (userInfo == null){RedirectToAction("Login", "UserInfo");return;}if (string.IsNullOrEmpty(fileId)){throw new ArgumentNullException("fileId is errror");}int id = Convert.ToInt32(fileId);var findFile = _myFileServiceRepository.Find(x => x.Id == id);if (findFile == null){AlertMsg("文件不存在", "");return;}string filePath = Path.Combine(Server.MapPath("~/NetDisk/"), findFile.FileMd5 + findFile.FileExt);//以字符流的形式下載文件FileStream fs = new FileStream(filePath, FileMode.Open);byte[] bytes = new byte[(int)fs.Length];fs.Read(bytes, 0, bytes.Length);fs.Close();Response.ContentType = "application/octet-stream";//通知瀏覽器下載文件而不是打開Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(findFile.FileName, System.Text.Encoding.UTF8));Response.BinaryWrite(bytes);Response.Flush();Response.End();}

總結

下載的邏輯也很好修改,只是修改一下文件的路徑,在數據庫中已經存有md5和文件的擴展名,這時候拼接一個文件的真實路徑就可以了。

總結

以上是生活随笔為你收集整理的[实战]MVC5+EF6+MySql企业网盘实战(15)——逻辑重构2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。