ammaippan Ответов: 3

Конвертируйте PDF в байты[] и байты[] в строку и наоборот


Привет
Мне нужно конвертировать PDF в байты[] и байты[] в строку и наоборот, и я использую для этого следующий код.

Это прекрасно работает для html-документов, но не для pdf-файлов.
//convert pdf to bytes
FileStream fs;
fs = File.Open(fileName, FileMode.Open);
byte[] bytBytes1 = new byte[fs.Length];
fs.Read(bytBytes1, 0, bytBytes1.Length);
fs.Close();

//convert bytes to string
string strModified = Encoding.Unicode.GetString(bytBytes1);

//convert string to bytes
byte[] b =Encoding.Unicode.GetBytes(strModified);

//to open the attachment
Response.AddHeader("Content-disposition", "attachment;filename=filename.pdf");
Response.ContentType = "application/pdf";
Response.BinaryWrite(b);
Response.End();

может ли кто - нибудь помочь мне в этом вопросе.

Заранее спасибо

3 Ответов

Рейтинг:
2

Rod Kemp

Зачем ты это делаешь, просто используй;

Response.BinaryWrite(bytBytes1);

Вам не нужно преобразовывать его в строку, а затем снова в байт.


Рейтинг:
2

Christian Graus

Пожалуйста, не нажимайте кнопку "ответить", если вы не публикуете ответ. Отредактируйте свой пост, чтобы добавить детали.

Ваш клиент просит об этом ? Тогда они идиоты. HTML-это строка. PDF-файл-это не строка. Так что это невозможно сделать. Вы не должны иметь дело с клиентами, если вы не знаете достаточно о технологии, которую вы используете, чтобы сказать своему клиенту, если то, что они воображают, на самом деле невозможно.


Foyzul Karim

Я сожалею о своем невежестве. Но не могли бы вы пояснить, почему это невозможно?
Спасибо.

Рейтинг:
1

ammaippan

Нет, у меня есть ситуация, когда я должен отправить вложение в виде строки, а на другом конце наш клиент получит строку и преобразует ее в вложения. поэтому я должен преобразовать его в строку.