Загрузите PDF, который я уже создал ASP.Net

#asp.net #asp.net-core #pdf

#asp.net #asp.net-ядро #PDF

Вопрос:

Короче говоря, я хочу создать кнопку, которая распечатывает PDF-файл на компьютер пользователя, поэтому сначала я создаю PDF-файл в базе данных / файле сервера, а затем загружаю его пользователю.

С помощью этого кода я могу создать PDF-файл на сервере, затем я искал, как сделать его загружаемым для пользователя.. Пока не повезло, в большинстве ошибок говорилось: «… это физический путь, но ожидался виртуальный путь».

вот код

 private void cetak_pdf(string s_id, string CompanyCode , string zpath)
    {
        bool SUCCESS = true;
        string sErrMsg = "";
        string sFileName = "";

        DiskFileDestinationOptions diskOpts = null;

        try
        {
            sFileName = s_id;

            diskOpts = new DiskFileDestinationOptions();

            diskOpts.DiskFileName = Server.MapPath("~"   "\pdf\"   zpath   CompanyCode   "_"   sFileName   ".pdf");

            //Response.Write(diskOpts.DiskFileName);Response.End();
            // this is the file created E:GIA_25pdfCompanyAddress00000003_003.pdf

            rptDoc.ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
            rptDoc.ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
            rptDoc.ExportOptions.DestinationOptions = diskOpts;

            rptDoc.Export();


            Response.ContentType = "application/pdf";
            //Response.AppendHeader("Content-Disposition", "attachment; filename=MyFile.pdf");
            Response.TransmitFile(Server.MapPath("E:\GIA_25\pdf\CompanyAddress00000003_003.pdf"));
            Response.End();


        }
        catch (Exception ex)
        {
            SUCCESS = false;
            sErrMsg = ex.Message;
            throw new Exception(sErrMsg);
        }
    }
 

помогите, пожалуйста, что-то новое в этом языке

Ответ №1:

Извините за мою ошибку: (вот правильный код для того, чтобы сделать его загружаемым

 Response.ContentType = "APPLICATION/OCTET-STREAM";
                // String Header = "Attachment; Filename=XMLFile.xml";
                String Header = "Attachment; Filename="   "CompanyAddress"   CompanyCode   "_"   sFileName   ".pdf";
                Response.AppendHeader("Content-Disposition", Header);
                System.IO.FileInfo Dfile = new System.IO.FileInfo(Server.MapPath("~"   "\pdf\"   "CompanyAddress"   CompanyCode   "_"   sFileName   ".pdf"));
                Response.WriteFile(Dfile.FullName);