国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET設計網絡硬盤之下載或在線查看實現代碼

2024-07-10 13:23:42
字體:
來源:轉載
供稿:網友
在目錄瀏覽中,如果選擇的是一個文件,單擊“打開”按鈕就可以進行文件下載。當然,也可以選擇直接打開,如圖1所示。

ASP.NET設計網絡硬盤之下載或在線查看實現代碼


圖1 下載和在線打開界面


  單擊“打開”按鈕將直接打開該文件,單擊“保存”按鈕可以下載該文件。

代碼實現

  打開文件所單擊的還是“打開”按鈕,所以要在“打開”事件中加以判斷,看選中的是文件夾還是文件。故對btnOpen_Click()事件進行了修改,下面加重部分為新增的代碼:

復制代碼 代碼如下:


private void BtnOpen_Click(object sender, System.EventArgs e)
{
 if(FileList.SelectedItem.Text=="返回上級目錄") //返回上級目錄
 {
  string ParentPath=Directory.GetParent(CurrentPath).ToString();
  LoadDir(ParentPath);
  return;
 }
 else if(FileList.SelectedItem.Text.IndexOf(".")>0) //打開文件
 {
  FileDownload(FileList.SelectedItem.Text);
 }
 else //打開目錄
 {
  LoadDir(FileList.SelectedItem.Text);
 }
}


  如果選擇的是文件,則調用FileDownload()方法,其代碼部分如下:

復制代碼 代碼如下:


private void FileDownload(string FullFileName)
{
 FileInfo DownloadFile = new FileInfo(YourFileName); //設置要下載的文件
 Response.Clear(); //清除緩沖區流中的所有內容輸出
 Response.ClearHeaders(); //清除緩沖區流中的所有頭
 Response.Buffer = false; //設置緩沖輸出為false
 //設置輸出流的 HTTP MIME 類型為application/octet-stream
 Response.ContentType = "application/octet-stream";
 //將 HTTP 頭添加到輸出流
 Response.AppendHeader("Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.FullName,System.Text.Encoding.UTF8));

 Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());

 //將指定的文件直接寫入 HTTP 內容輸出流。

 Response.WriteFile(DownloadFile.FullName);
 Response.Flush(); //向客戶端發送當前所有緩沖的輸出
 Response.End(); //將當前所有緩沖的輸出發送到客戶端

}


  這段代碼是采用輸出流的形式進行文件傳輸,理解起來比較困難。如果換一種方式進行處理的話,可以在頁面加一個HyperLink控件困難。在選擇相應的文件時,使其鏈接到相應的路徑。這里不再多說。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴业县| 个旧市| 太白县| 明光市| 安平县| 临泽县| 上虞市| 博兴县| 探索| 平湖市| 靖安县| 通许县| 独山县| 保定市| 如皋市| 天长市| 收藏| 襄垣县| 黎城县| 兴业县| 鄂尔多斯市| 普兰县| 阿拉善左旗| 自治县| 吉安市| 离岛区| 香河县| 济宁市| 随州市| 百色市| 万载县| 收藏| 镇安县| 龙川县| 浦江县| 堆龙德庆县| 玉环县| 绍兴县| 土默特左旗| 宁陵县| 浪卡子县|