Сбой преобразования из System.Byte [] в строку - PullRequest
0 голосов
/ 13 декабря 2010

Продукт, который мы используем, хранит шаблон Letter Express (Mail Merge) как BLOB (или CLOB ... я не могу вспомнить прямо сейчас).Мы используем API Продукта, чтобы вызвать это письмо и отправить по электронной почте.

Теперь мы хотим, чтобы содержимое письма было записано и сохранено в отдельном поле.API предоставляет нам свойство LetterExpress.WordDocument, которое имеет шаблон.Это, однако, byte[].

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

Это код, который я пробовал.

System.Text.Encoding.ASCII.GetString(LetterExpress.WordDocument)

Однако я получаю ошибку следующим образом

Наилучшее совпадение перегруженного метода для 'System.Text.Encoding.GetString (byte [])' имеет несколько недопустимых аргументов

Почему я получаю эту ошибку?

Как узнать, какая кодировка используется для LetterExpress.WordDocument?Или есть универсальный метод, который может преобразовать его в строку?

Ответы [ 2 ]

3 голосов
/ 13 декабря 2010

Вы получаете эту ошибку, потому что свойство LetterExpress.WordDocument, которое вы считаете byte[], на самом деле не одно.Убедитесь, что тип этого свойства действительно соответствует вашему.

1 голос
/ 13 декабря 2010

Похоже, что это настоящий файл .doc, а файл .doc гораздо сложнее, чем просто строковое кодирование.Если вы хотите извлечь текст из текстового документа, вам нужно что-то вроде Aspose Tools .Возможность сделать это не встроена в рамки.Вы не можете использовать ни System.Text.Encoding, ни общий метод, в том числе .Net, который может это сделать.

...