下载(打开)PDF文件 代码
2012-09-18 16:01
405 查看
网上的代码很多,但现在大多数都是Framework 3.5的啦,对于2.0,2.5有的方法不是很兼容,花了半个小时才找到一个合适,现在记录如下:
注意:不适合网络路径,只适合本地文件, 网络路径请参考我另一篇Blog
注意:不适合网络路径,只适合本地文件, 网络路径请参考我另一篇Blog
public void DownloadFile(string strFileNamePath) { long chunkSize = 102400; byte[] buffer = new byte[chunkSize]; //long dataToRead=0; FileStream stream = null; try { FileInfo info = new FileInfo(strFileNamePath); Response.Clear(); stream = new FileStream(strFileNamePath, FileMode.Open, FileAccess.Read, FileShare.Read); Response.Clear(); Response.AddHeader("Content-Length", stream.Length.ToString()); Response.ContentType = "application/pdf"; long fileLength = stream.Length; int size = 10240;//10K一--分块下载,10K为1块 byte[] readData = new byte[size]; if (size > fileLength) size = Convert.ToInt32(fileLength); long fPos = 0; bool isEnd = false; while (!isEnd) { if ((fPos + size) >= fileLength) { size = Convert.ToInt32(fileLength - fPos); isEnd = true; } readData = new byte[size]; stream.Position = fPos; stream.Read(readData, 0, size); Response.BinaryWrite(readData); Response.OutputStream.Flush(); fPos += size; } stream.Close(); Response.OutputStream.Close(); Response.End();//非常重要,没有这句的话,页面的HTML代码将会保存到文件中 Response.Close(); } catch (Exception) { if (stream != null) { stream.Close(); stream = null; } } }
相关文章推荐
- 如何在html中下载pdf等文件而不是直接打开
- Asp.net 2.0 用C# 创建 PDF文件[引用] (示例代码下载)
- java文本、表格word转换生成PDF加密文件代码下载
- Android:下载后打开PDF格式文件
- 在浏览器中下载及打开文件的代码
- 轻松下载.pdf文件(直接下载,而不是在IE浏览器里面打开)
- 记录一下:上传到服务器上的pdf 文件直接下载而非在浏览器里打开
- Asp.net 2.0 用C# 创建 PDF文件[引用] (示例代码下载)
- Android:下载后打开PDF格式文件
- Asp.net 2.0 用C# 创建 PDF文件[引用] (示例代码下载)
- 轻松下载.pdf文件(直接下载,而不是在IE浏览器里面打开)
- flex AIR 打开PDF文件(代码实现)
- ios 使用NSURlSession 下载文件并且使用进度条进行文件下载进度读取以及打开附件(word,excel,ppt,pdf)显示
- Android:下载并打开PDF格式文件2----用指定的software
- React Native 下载并打开pdf文件
- React Native下载打开pdf文件
- 转载:Asp.net 2.0 用C# 创建 PDF文件[引用] (示例代码下载)
- html5链接直接下载文件 不是直接打开 如pdf, doc 等
- Asp.net 2.0 用C# 创建 PDF文件[引用] (示例代码下载)
- 在线打开.PDF、.TXT等文件,.doc、.xls自动下载