我想在下载框中打开文档(即pdf,excel,word doc等)。出于某种原因,excel文件正常工作,但其他文件都没有。我想我需要使用javascript setHeader(我相信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响应未定。有没有人有任何想法?
答案 0 :(得分:1)
您需要为每种文件类型设置不同的标头。看看here。
答案 1 :(得分:1)
您无法使用JavaScript更改服务器的响应,并且您无法控制浏览器决定在选择此/新窗口之外打开新链接的方式。由服务器来决定为您的请求返回什么 - 即它可以针对所有请求或任何其他类型的响应使用相同的JPG图像进行响应。
您需要将用于设置标头的代码放在服务请求的服务器上。如果您的服务器是ASP.Net one(http://support.microsoft.com/kb/260519),那么您有正确的代码。