Загрузите файл .wav с asp.net в Internet Explorer

Я просто пытаюсь отправить файл .wav в Internet Explorer с помощью обработчика ASP.net:

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». Если я установил для него значение «вложение», мне появляется диалоговое окно загрузки. Если я установил значение «встроенный», я просто получаю пустая страница, как раньше.


person user385990    schedule 08.07.2010    source источник
comment
Почему? Мне поэтому хочется сказать: раз уж это IE, чего вы ожидаете? Но серьезно. Вы, вероятно, должны указать, о какой версии вы говорите.   -  person harpo    schedule 08.07.2010
comment
Это Internet Explorer 8   -  person user385990    schedule 08.07.2010
comment
Итак, Content-Disposition:attachment делает то, что вы хотите? Какой у тебя тогда вопрос?   -  person Joel Coehoorn    schedule 08.07.2010
comment
Нет, мне нужен файл wav для встроенного воспроизведения.   -  person user385990    schedule 08.07.2010
comment
это не так - это просто упрощенное объяснение проблемы - не удалось решить, как отменить старый вопрос.   -  person user385990    schedule 08.07.2010
comment
получить решение, наконец?   -  person Kiquenet    schedule 30.12.2017
comment
@MarcNovakowski stackoverflow.com/questions/3199038/ не найден   -  person Kiquenet    schedule 30.12.2017


Ответы (2)


Вы можете попробовать встроить его в объект

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

Страница, которая отправляет wav-файл в браузер, также может выступать в качестве источника, как я упомянул в приведенном выше примере, или вы можете напрямую указать имя файла.

person Ritik Khatwani    schedule 08.07.2010
comment
Это работает для IE, но требует установки плагина для Firefox и Chrome. Я не понимаю, почему у IE возникают проблемы с моей страницей ASP.net, когда с другими все в порядке, например. nch.com.au/acm/11k16bitpcm.wav - person user385990; 08.07.2010

Оказывается, IE пытается быть умным и игнорирует заголовки HTTP, и если в URL-адресе нет .wav, он предполагает, что это текст.

Это было подтверждено путем настройки URL-псевдонима /foo/bar.wav?audioId=123, указывающего на /foo/baz?audioId=123. При прямом доступе в IE ничего не отображается, но при доступе через псевдоним отображается и воспроизводится файл .wav.

person user385990    schedule 09.07.2010