Сайт не загружает PDF, созданный сайтом C# / ASP. NET MVC - PullRequest
0 голосов
/ 01 мая 2020

У меня есть сайт, развернутый на Hostgator. Это мой первый сайт, поэтому я все еще немного новичок во всем этом. При использовании Visual Studio 2019 это прекрасно работает в процессе разработки, но после развертывания на моем сайте выдает ошибку:

... / CreateRateConfirmation? LoadNumber = RT222398 500 (внутренняя ошибка сервера) VM1795 jquery: 1

Я использую itext v.7 для создания PDF, и я думаю, что это может иметь отношение к моему пути при создании PDF? Фактическая функция pdf - это более 1800 строк кода, поэтому я не собираюсь публиковать все это, но это важная (я думаю) информация:

string fileName = loads[i].Carrier.carrierName + " " + loadNumber + " Rate Confirmation.pdf";
                    string desktopFolder = "C:";
                    System.IO.Directory.CreateDirectory(desktopFolder + "\\Rate Confirmations");
                    string downloadFolder = desktopFolder + "\\Rate Confirmations";

                    PdfWriter writer = new PdfWriter(downloadFolder + "\\" + fileName);
                    PdfDocument pdf = new PdfDocument(writer);
                    Document document = new Document(pdf);

... примерно миллиард строк of pdf creation ...

                    document.Close();

                    System.Diagnostics.Process.Start(downloadFolder + "\\" + fileName);
                    string timeStamp = getTimeStamp(name);
                    loads[i].notes = loads[i].notes + timeStamp + ": Rate Confirmation Created^";
                    db.Entry(loads[i]).CurrentValues.SetValues(loads[i]);
                    db.SaveChanges();

                    break;

Для чего стоит функция, у нее есть метка времени, которая должна отображаться в заметках на моем сайте, и это не так, поэтому она явно не пройти через эту функцию.

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

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

1 Ответ

0 голосов
/ 01 мая 2020

Я не совсем уверен, что является причиной проблемы. Но есть определенная вещь, которая может привести к сбою генерации PDF. Никогда не указывайте каталог вручную. Вместо этого попробуйте получить его динамически в соответствии с сервером, на котором развернуто ваше веб-приложение

. Вы можете заменить код каталога на

string desktopFolder = Path.GetFullPath(Directory.GetCurrentDirectory());
string downloadFolder = desktopFolder + "\\Rate Confirmations";

if (!Directory.Exists(downloadFolder))
     Directory.CreateDirectory(downloadFolder);

. Этот код автоматически получит текущий каталог вашего приложения и изменит его. это абсолютный путь от виртуального пути

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...