Как заставить браузер загружать XML-файл? - PullRequest
11 голосов
/ 16 декабря 2009

Это моя проблема. Я загружаю XML из своей базы данных и отправляю его клиенту с помощью кода. Но проблема в том, что браузер автоматически открывает этот XML вместо того, чтобы предлагать его для загрузки.

Есть ли способ заставить ваш браузер загрузить этот файл и не показывать его?

Я работаю в среде C #, Asp.net (с IIS7).

Thx

Ответы [ 3 ]

21 голосов
/ 16 декабря 2009
protected void DisplayDownloadDialog()
{
    Response.Clear();
    Response.AddHeader(
        "content-disposition", string.Format("attachment; filename={0}", "filename.xml"));

    Response.ContentType = "application/octet-stream";

    Response.WriteFile("FilePath");
    Response.End();
}

Это заставит скачивать файл и не отображаться в браузере.

Это будет работать для любых типов файлов без необходимости указывать какие-либо специальный тип MIME.

3 голосов
/ 16 декабря 2009

Это объясняется в этой статье: http://www.xefteri.com/articles/show.cfm?id=8

Ключ в этой строке:

Response.AddHeader("Content-Disposition", "attachment; filename=" & file.Name) 
1 голос
/ 16 декабря 2009

Добавить расположение содержимого: заголовок вложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...