您的位置:首页 > 其它

关于在线 pdf 下载时的注意事项

2009-09-22 10:13 218 查看
昨天做了一个pdf 在线下载, 通过ASP.net来传送pdf 到浏览器,开始通过下面的办法

Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + uid + ".pdf\"");
Response.AddHeader("Content-Type", "application/pdf");

Response.TransmitFile(Server.MapPath(@"/pdf/") + file);
Response.End();

发现搜索引擎对这种办法非常不友好,不爬取,也不收录,尝试了好多办法,最后修改了header 的头,完全模拟了静态pdf文件的header

Response.AddHeader("Content-Type", "application/pdf");
Response.AddHeader("Accept-Ranges", "bytes");

FileInfo fi = new FileInfo(filePath);
Response.AppendHeader("ETag", GetFileETag(filePath, fi.LastWriteTime));//重要:续传必须
Response.Cookies.Clear();
Response.Cache.SetLastModified(fi.LastWriteTime);
Server.Transfer(url);

论文网的效果 http://www.lw23.com/pdf/535445f7-8d92-4940-a0b3-6c12c8217693.pdf 的头部就静态的pdf 一样
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: