Принудительно загружать документы Word, PDF, XLS и т. д., щелкая ссылку с помощью jquery - PullRequest
0 голосов
/ 16 марта 2011

Я пытаюсь открыть документы (например, PDF, Excel, Word DOC и т. Д.) В окне загрузки. По некоторым причинам файлы Excel работают правильно, но ни один из них не работает. Я думаю, что мне нужно setHeader с использованием javascript (я считаю, что jquery не имеет основных функций, которые делают это, но поправьте меня, если я не прав). Вот пример моего кода.

$(function() {
    $('a.media-link').click(function(event){
        var fileName = $(this).html();
        var property_id = $("input[name=capturePropId]").val();
        //alert(fileName);
        event.preventDefault();  //stop the browser from following
        window.location.href = '../uploads/properties/'+
        property_id+'/media/'+fileName+'';
        response.setHeader("Content-Disposition", "attachment; 
        filename=\"" + fileName + "\"");
    });
});

Когда я делаю это, я получаю сообщение об ошибке "response.setHeader response не определен. У кого-нибудь есть идеи?

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Вы не можете изменить ответ сервера с помощью JavaScript, и вы не можете контролировать, как браузер решает открыть новую ссылку за пределами выбора этого / нового окна. Сервер должен решить, что вернуть по вашему запросу - то есть он может ответить тем же самым JPG-изображением для всех запросов или любого другого типа ответа.

Вам необходимо поместить код, который устанавливает заголовки, на сервер, обслуживающий запрос. У вас правильный код, если ваш сервер ASP.Net один (http://support.microsoft.com/kb/260519).

1 голос
/ 16 марта 2011

Вам необходимо установить заголовки по-разному для каждого типа файла.Взгляните здесь .

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