【发布时间】:2016-02-05 13:20:18
【问题描述】:
我已将 PDF 文件上传到 MS SQL Server 数据库中,当我从数据库中将其作为字节取回并尝试下载时,它下载了一些文件,但不是 PDF 文件。
我的代码:
Byte[] bytes = (Byte[])dt.Rows[0]["PDFDbColumnName"];
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=FileName");
Response.Buffer = true;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.BinaryWrite(bytes);
valid.Text = "File Downloaded";
Response.Flush();
Response.End();
【问题讨论】:
-
你怎么知道字节不是 PDF 字节?第一个字节是什么?
-
bytes 是从数据库中获取的 PDF 字节,但是当它下载时,它不是 PDF 文件。它是一些未知的格式。
-
你没有回答我的问题。显示您从数据库收到的第一个字节。你怎么知道这是一种未知格式?你对想要回答这个问题的人有什么期望?您的问题听起来像:“我有一个未知格式的文件;请告诉我这是哪种格式?” 没有人可以回答这个问题除非你显示该“未知”文件的第一个字节。
-
不,这根本不是我的问题。我的问题是:我想下载从数据库中获取的 PDF 文件作为 varbinary。
-
These are the bytes: 0x255044462D312E350D0A25B5B5B5B50D0A312030206F626A0D0A3C3C2F547970652F436174616C6F672F50616765732032203020522F4C616E6728656E2D555329202F53747275637454726565526F6F74203335203020522F4D61726B496E666F3C3C2F4D61726B656420747275653E3E3E3E0D0A656E646F626A0D0A322030
标签: sql asp.net sql-server pdf