【发布时间】:2015-05-30 05:46:06
【问题描述】:
我用c#写了下面几行代码
private void DownloadFile(byte[] myData, string Name)
{
Response.Expires = 0;
Response.Clear();
string ext= System.IO.Path.GetExtension(Name);
switch(ext)
{
case ".mp3":
Response.ContentType = "audio/mpeg";
break;
default:
Response.ContentType = "Application/octet-stream";
break;
}
Response.AddHeader("content-length", myData.Length.ToString());
Response.AddHeader("Content-Disposition", "attachment; filename=" + Name);
try
{
Response.BinaryWrite(myData);
}
catch { }
Response.Flush();
Response.End();
}
现在的问题是,当我们点击 mp3 文件下载时,它是直接播放的。我希望它应该下载它。我也想下载所有类型的文件。
【问题讨论】:
-
该 MIME 类型是否存在于您的 IIS 服务器的类型列表中?
-
不知道怎么查
-
@freefaller 因为内容类型是明确设置的,这有关系吗?
-
我开始怀疑自己@Marc
-
@user - 正如 Marc 所说,直接从代码传输文件可能不会有任何区别 - 但值得检查以防万一。有一个look here 的说明
标签: c# asp.net c#-4.0 mime-types