asp.net|下載 搞了好久也沒有搞通,網上有很多案例都是一樣的:IE支援的檔案就會直接開啟,而其它的像ZIP之類的檔案不識別,就會彈出下載或開啟的對話方塊。
突然一想是不是有什麼檔案篩選的問題,果然在寫檔案之前將Filter清除就可以像附件一樣使用了。
VB.net:
Dim filename As String = "a.txt"
If filename <> "" Then
Dim path As String = Server.MapPath(filename)
Dim file As System.IO.FileInfo = New System.IO.FileInfo(path)
If file.Exists Then
Response.Clear()
Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name)
Response.AddHeader("Content-Length", file.Length.ToString())
Response.ContentType = "application/octet-stream"
Response.Filter.Close()
Response.WriteFile(file.FullName)
Response.End()
Else
Response.Write("This file does not exist.")
End If
End If
----------------------------------------------------------------
c#:
string filename = "a.txt";
if (filename != "")
{
string path = Server.MapPath(filename);
System.IO.FileInfo file = new System.IO.FileInfo(path);
if (file.Exists)
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.Filter.Close();
Response.WriteFile(file.FullName);
Response.End();
}
else
{
Response.Write("This file does not exist.");
}
}