C # MVC Core Печать файла Excel с использованием Process (), PDF работает нормально, но Excel продолжает загружаться - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь распечатать файл Excel (.xlsx) через мое веб-приложение, нажав кнопку.Все отлично работает на моем локальном, однако, когда я загружаю в IIS, момент, когда я нажимаю кнопку.Страница просто продолжит загружаться.

                string destinationFileWord = filePath;

                Process print = new Process();
                print.StartInfo.FileName = destinationFileWord;
                print.StartInfo.UseShellExecute = true;

                print.StartInfo.CreateNoWindow = true;
                print.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                print.StartInfo.Verb = "PrintTo";

                print.StartInfo.Arguments = Utility.GetAppSettings("PrinterSettings", "Address1");
                print.StartInfo.WorkingDirectory = Path.GetDirectoryName(destinationFileWord);
                print.Start();

                if (print.HasExited == false)
                {
                    print.WaitForExit(5000);

                }

Кто-нибудь знает, в чем может быть проблема?

Спасибо.

1 Ответ

0 голосов
/ 28 января 2019

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

HttpContext.Current.Server.MapPath("~/") 

В этом сообщении SO есть ряд других методов:

Как сделатьЯ получаю текущий каталог в веб-сервисе

РЕДАКТИРОВАТЬ

Для .NET Core вам нужно использовать IHostingEnvironment.ContentRootPath:

Как получить rootкаталог проекта в ядре asp.net.Directory.GetCurrentDirectory (), кажется, не работает правильно на Mac

...