如何在C#中将二进制数据转换为文件?

时间:2013-07-31 07:07:20

标签: c# asp.net binary-data

其实我保存了一些文件,例如。pdf,。txt,。doc,。xls,将<Binary data>转换为SQL SERVER DB FileUploadControl 1}}到<Binary data>。 现在,我想将txt转换回Normal,并为用户提供下载(或)查看该数据的选项。

我为。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(); 文件尝试了类似的东西

{{1}}

我收到的错误如下:

  

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

2 个答案:

答案 0 :(得分:0)

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

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

`File.WriteAllBytes("file.pdf", binaryData);` 

答案 1 :(得分:0)

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

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

问候。