2013-12-04 2 views
0

если у меня есть файл pdf, хранящийся на сервере sql в виде двоичных данных, varbinary (MAX), как я могу получить его, чтобы открыть этот файл?открыть файл pdf, хранящийся в db как двоичные данные

У меня после

if(myObject.PdfFile != null) 
{ 
    MemoryStream ms = new MemoryStream(myObject.PdfFile); 
    // what to do with this ms to open file? 
} 
+0

Запишите его в файл temp и запустите процесс с помощью Acrobat или с помощью процесса и 'ShellExecute' – Dawid

ответ

0

вам придется вызвать хранимую процедуру или встроенный запрос, чтобы выбрать столбец VARBINARY.

Затем сохраните байт [] в файл с расширением .pdf

затем использовать процесс, чтобы открыть PDF с читателем самана

2

Вы можете использовать HttpResponse BinaryWrite метод:

var bytes = reader.GetSqlBytes(index); 
    Response.BinaryWrite(bytes.Value); 
2

Следующие строки кода будут вам полезны. «myobject» - это файл класса с proerties Attach_name, Attach_Type и т. д. Attach_Doc - это свойство типа byte [].

Response.Clear(); 
Response.AddHeader("content-disposition", "attachment; filename=" + myobject.ATTACH_NAME); 
Response.ContentType = myObject.ATTACH_TYPE;// doc.DOCUMENT_TYPE; 
Response.BinaryWrite((byte[])myObject.ATTACH_DOC); 
Response.Flush(); 
Response.End(); 
0

, если не хочет, чтобы захватить другие ответы, но для уточнения ... если ваше приложение является веб-приложением/веб-страница, то, как user1081802 и SpiderCode сказал, что вы могли бы использовать

Response.BinaryWrite 

Если, однако, если это не веб-приложение, тогда вам нужно будет сохранить двоичные данные в виде файла на жесткий диск и откройте его там, как предположил Liquidsnake786.

Смежные вопросы