0

实际上我已经保存了一些文件,例如 . pdf,. txt,. doc,. xls通过将它们转换为<Binary data>我的SQL SERVER DBthrough FileUploadControl。现在,我想将<Binary data>背面转换为正常并为用户提供下载(或)查看该数据的选项。

我已经为 . txt文件

var filedata = (from xx in VDC.SURVEY_QUESTION_REPLIES
                                    where xx.ID == FileID
                                    select xx).FirstOrDefault();

string fileextension = filedata.FILE_EXTENSION.ToString();
string fileName = filedata.ANSWER_TEXT.ToString() + fileextension;
Byte[] bytes = (Byte[])filedata.FILE_DATA;
Response.Buffer = true;
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();

我收到如下错误:

无法计算表达式,因为代码已优化或本机框架位于调用堆栈顶部。

4

2 回答 2

0

是数据类型 System.Data.Linq.Binary 那么您可以执行以下操作:

byte[] bytes = filedata.FILE_DATA.ToArray();

问候。

于 2013-07-31T07:35:52.497 回答
0

您可以尝试使用此示例保存 PDF 文件。

byte[] binaryData = (byte[])filedata.FILE_DATA;

`File.WriteAllBytes("file.pdf", binaryData);` 
于 2013-07-31T07:17:57.860 回答