Разработчику было поручено отправить PDF-файлы на FTP-сайт. Случайно каждый PDF-файл читался как строка, кодировался в байтовый массив UTF-8 и затем передавался на FTP. Очевидно, это вызвало проблемы, поскольку файлы PDF НЕ ТЕКСТ.
Ниже приведен код, который был выполнен:
//method passed in a filepath to use for the upload
var filePath = @"C:\temp\myFile.pdf";
byte[] pdfBytes;
using (var sr = new StreamReader(filePath))
{
pdfBytes = Encoding.UTF8.GetBytes(sr.ReadToEnd());
}
//byte array was then uploaded
Мой вопрос: есть ли способ отменить этот тип повреждения на на основе файла? Можете ли вы взять поврежденный PDF, прочитать его байты и каким-то образом превратить его в «строку PDF»? (Я знаю, что PDF-файлы не являются строками. Просто пытаюсь выяснить, можно ли исправить коррупцию)
ПРИМЕЧАНИЕ. Мы уже исправили код и получаем байты, как показано ниже. Просто хочу узнать, есть ли способ отменить то, что было сделано.
var pdfBytes = File.ReadAllBytes(filePath);