#c# #asp.net #asp.net-mvc #pdf #shared-hosting
#c# #asp.net #asp.net-mvc #PDF #общий хостинг
Вопрос:
Я использую плагин HiQPdf для преобразования страницы (счета-фактуры клиента) в PDF на ASP.NET Приложение MVC. Он отлично работает на localhost, но выдает ошибку после того, как я опубликую его на сервере общего хостинга Godaddy. Это ошибка, которую он выдает:
Ошибка 0x4EC. Проверьте файл ресурсов ‘G: ** domain.com Content HiQPdf.dep’, который можно найти рядом с HiQPdf.dll сборка и пользователь имеют права на чтение и выполнение для этого файла. Вызовите метод SetDepFilePath(), если вы разместили файл HiQPdf.dep в другом месте
Я искал со вчерашнего дня безрезультатно, я подтвердил, что HiQPdf.dep существует в папке содержимого, это то, что я пробовал, и все они работали локально, но ни один из них не решил проблему в GoDaddy:
- Скопировали файл HiQPdf.dep в папку содержимого и использовали метод SetDepFilePath() для ссылки на него.
// init model var model = _db.Invoice .Где(x => x.InvoiceID == InvoiceID amp;amp; !x.Черновик) .toArray() .Выберите(x => new InvoiceVM(x)).FirstOrDefault();
// convert a page to string (update the path to the right page) string html = RenderViewToString(ControllerContext, "~/views/home/_InvoiceDoc.cshtml", model); // start creating pdf doc // the base URL to resolve relative images and css string thisPageUrl = this.ControllerContext.HttpContext.Request.Url.AbsoluteUri; string baseUrl = thisPageUrl.Substring(0, thisPageUrl.Length -"Home/ConvertThisPageToPdf".Length); // instantiate the HiQPdf HTML to PDF converter HtmlToPdf htmlToPdfConverter = new HtmlToPdf(); htmlToPdfConverter.SetDepFilePath(Server.MapPath("~/Content/HiQPdf.dep")); // render the HTML code as PDF in memory byte[] pdfBuffer = htmlToPdfConverter.ConvertHtmlToMemory(html, baseUrl); // send the PDF file to browser FileResult fileResult = new FileContentResult(pdfBuffer, "application/pdf"); fileResult.FileDownloadName = "Invoice-" model.InvoiceNumber ".pdf"; return fileResu<
- Я изменил разрешения как для файла HiQPdf.dep, так и для папки содержимого в GoDaddy на полный контроль, тоже не сработало.
- Я установил уровень доверия на полный в web.config, все еще решая проблему.