2013-12-06 2 views
0

Я пытаюсь получить содержимое вложения. Это может быть первенствует, файл документа или текстовый файл все, что есть, но я хочу сохранить его в базе данных таким образом здесь я использую этот код: -Как получить содержимое вложений файла

foreach (FileAttachment file in em.Attachments)// Here em is type of EmailMessage class 
     { 
     Console.Write("Hello friends" + file.Name); 
     file.Load(); 
     var stream = new System.IO.MemoryStream(file.Content); 
     var reader = new System.IO.StreamReader(stream, UTF8Encoding.UTF8); 
     var text = reader.ReadToEnd(); 
     reader.Close(); 
     Console.Write("Text Document" + text); 
     } 

Так Печатая file.name показывает имя файла вложения но при печати «текста» на консоли он работает, если вложение является .txt-типом, но если оно является .doc или .xls, то оно отображает некоторый символический результат. Я не получаю никакого текстового результата. Я что-то делаю неправильно или что-то не хватает. Мне нужен текстовый результат любого типа прикрепления файла. Пожалуйста, помогите мне, я новичок в C#

+0

Каков текстовый результат файла изображения .png? –

+1

@ O.R.Mapper зависит от того, хочет ли OP использовать OCR. : P – CodeCaster

ответ

2

Что вы видите, это Что на самом деле находится в файле. Попробуйте открыть его с помощью Блокнота.

В .NET нет встроенного способа отображения «текстового содержимого» произвольных форматов файлов. Вам нужно будет создать (желательно, используя сторонние библиотеки, которые уже решают эту проблему) какую-то логику, которая извлекает текст из текстовых документов.

См., Например, How to extract text from Pdf, Word and Excel documents?, Extract text from pdf and word files и так далее.

+0

Да, это не отображается точно как текст в Блокноте –

2

Во-первых, что вы ожидаете при чтении двоичного файла?

Ваш результат - именно то, что ожидается. Текстовый файл может отображаться как строка, но файл doc или xls является двоичным файлом. Вы увидите двоичный контент файла. Вам нужно будет использовать инструмент/lib для получения текста/содержимого из двоичного файла в удобном для чтения формате.

0

Тип TXT прост, DOC или XLS намного сложнее. Вы можете видеть TXT, потому что это просто текст, DOC или XLS или PPT, или что-то еще нужно интерпретировать другим механизмом. См. Например, у вас разные цвета или размеры шрифта на документе Word или диаграмма в документе Excel, как вы можете показать, что в простом текстовом поле или в RichTextBox? Короткий ответ вы не можете.

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