Как открыть автоматически загруженный документ Word в браузере? - PullRequest
0 голосов
/ 29 февраля 2012

Я использую Aspose для создания документа Word. Он должен открываться в браузере автоматически при возврате с сервера.

Вот мой код:

Звоните Ajax, чтобы получить документ

    $.ajax({
        url: "Export/StreamWord",
        data: { topicId: CurrentTopic.id },
        success: function (result) {
            //Nothing here. I think that the browser must open the file automatically.
        }
    });

Контроллер .NET MVC 3

    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult StreamWord(string topicId)
    {
        var stream = new MemoryStream();
        Document doc = exportRepos.GenerateWord(topicId); //Document is a Aspose object
        doc.Save(stream, SaveFormat.Docx);
        stream.WriteTo(Response.OutputStream);
        return File(stream, "application/doc", "test.doc");
    }

НО, когда я запускаю его из браузера, ничего не происходит. Ответ с сервера вы можете увидеть на картинке. Документ приходит, но он не был открыт.

Headers Content

Есть предложения?

1 Ответ

2 голосов
/ 29 февраля 2012

Не используйте AJAX для этого, просто используйте простое перенаправление страницы. Если вы используете перенаправление страницы, пользователю будет предложено загрузить файл, но он не будет перемещать их с текущей страницы.

Код будет выглядеть как

document.location.href = "Export/StreamWord?topicId=" + CurrentTopic.Id;

То, что вы пытаетесь сделать, невозможно с AJAX.

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