有一次在為服務(wù)器一個(gè)模塊做下載功能的時(shí)候,在網(wǎng)上搜尋了很久都找不到能夠點(diǎn)解的原理或案例。原因是各大搜索引擎在遇到搜索關(guān)鍵字里面有“下載”字段的時(shí)候,展示的搜索結果幾乎每條都是某軟件,某代碼,等等的下載信息,看著(zhù)很心煩,我想著(zhù)其中應該就有國情的原因。
最后在QQ上得一大牛的友情指點(diǎn)才豁然開(kāi)朗。
這里我把代碼貼出來(lái)給需要的朋友們。
- string serverFile = oldName + extension;//服務(wù)器上文件的名稱(chēng)
- string downFile = newName + extension;//客戶(hù)端下載文件的名稱(chēng)
-
- //得到源文件的路徑包括文件名
- string fileDir = context.Server.MapPath(@"~/Upload/Material/");
- string filePath = Path.Combine(fileDir, serverFile);
-
- //以字符流的形式處理文件
- FileStream fs = new FileStream(filePath, FileMode.Open);
- byte[] bytes = new byte[(int)fs.Length];
- fs.Read(bytes, 0, bytes.Length);
- fs.Close();
-
- context.Response.ContentType = "application/octet-stream";
- //通知瀏覽器下載文件而不是打開(kāi)
- context.Response.AddHeader("Content-Disposition", "attachment; filename=" + downFile);
- context.Response.BinaryWrite(bytes);
- context.Response.Flush();
- context.Response.End();
最后感謝大牛Silence。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。