关于在线 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 一样
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 一样
相关文章推荐
- pdf.js 在线浏览pdf组件构建与安装注意事项
- 关于移植工程注意事项以及遇到下载不成功查找问题思路
- 关于eclipse中的插件swt designer的下载和安装应该注意的事项
- 关于JAVA数组的几点注意事项与一些低级错误
- 关于使用析构函数的几点注意事项
- 关于开发中使用writeToFile时的注意事项
- 关于eclipse安装springsource tool suit插件注意事项
- 关于缓存的几点注意事项(个人笔记)
- (java)关于OJ中字符串通过空格分隔的情况,注意事项
- HttpServletResponse response(中文乱码、文件下载、定时刷新、控制缓存、重定向、注意事项)
- 关于顺序表插入算法和删除算法的一些注意事项
- 关于ant 部署的若干注意事项
- Tomcat下载以及安装、eclipse工具配置tomcat9的具体步骤以及注意事项!!!
- 关于CDH5安装的步骤及注意事项
- 关于打包winfrom 程序的注意事项
- Unity3D 关于各种坐标的注意事项
- 关于Linux driver中device_create()使用的注意事项
- 关于 rcp 中Texteidtor 控件的使用注意事项
- 关于Masonry使用的注意事项
- 关于asp.net页面添加非空校验控件注意事项