在Internet Explorer中使用asp.net下载.wav文件

问题描述 投票:3回答:2

我只是尝试使用ASP.net处理程序将.wav文件发送到Internet Explorer:

public void ProcessRequest(HttpContext context)
{
    HttpResponse response = context.Response;
    response.ContentType = "audio/x-wav";
    response.WriteFile("MyWav.wav");
    response.AddHeader("Content-Length", "304578");

    response.Flush();
}

这适用于Firefox和Chrome,但我只是在Internet Explorer中显示一个空白屏幕。为什么?

(我已尝试设置“Content-Disposition”标题。如果我将其设置为“附件”,我会看到下载对话框。如果我将其设置为“内联”,我只会像以前一样得到一个空白页面。

asp.net http header wav
2个回答
1
投票

您可以尝试将其嵌入对象中

<object
classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95">
<param name="AutoStart" value="1" />
<param name="FileName" value="GiveYourPageNameHere.aspx" />
</object>

将wav文件发送到浏览器的页面也可以作为我在上面的示例中提到的源,或者您可以直接指定文件名。


0
投票

事实证明,IE试图变得聪明并忽略HTTP标头,如果URL中没有.wav,它就会假定它是文本。

通过设置别名URL /foo/bar.wav?audioId=123指向/foo/baz?audioId=123来确认这一点。直接访问时,IE中不会显示任何内容,但是当通过别名访问时,它会显示并播放.wav文件。

© www.soinside.com 2019 - 2024. All rights reserved.