JanardhanSharma Ответов: 1

Как Сохранить pdf-файл в любой общей папке на клиентском компьютере, не показывая окно загрузки diagolue


Здесь, в приведенном ниже коде, я пытаюсь преобразовать ReportViewer в pdf. Когда
я пытаюсь сохранить этот pdf-файл на рабочем столе, он работает нормально. Но когда я размещаю приложение в IIS, оно вообще не сохраняет файл. Но мое требование состоит в том, чтобы сохранить файл на клиентской машине в любой из общих папок.

Что я уже пробовал:

protected void btnPrint_Click(object sender, EventArgs e) 
    {
                   

            Warning[] warnings;
            string[] streamids;
            string mimeType;
            string encoding;
            string extension;
            string deviceInfo = string.Empty;

            deviceInfo = "<DeviceInfo><SimplePageHeaders>True</SimplePageHeaders></DeviceInfo>";

            byte[] data = ReportViewer1.ServerReport.Render(
               "PDF", null, out mimeType, out encoding, out extension,
               out streamids, out warnings);

            //Identify the Client Machine Desktop folder Path
            string ClientDesktopPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "");            

            //DirPath = Server.MapPath(@"" + "~/Temp") + @"\" + "TempReportFiles";//Server.MapPath("~") returns the physical path to the root of the application
            PDFFileName = "OutPutTmpRpt" + SessionHandler.UserID.Trim() + ".pdf"; //Set the File name here
           
            using (FileStream fs = new FileStream(ClientDesktopPath + @"\" + PDFFileName.Trim(), FileMode.Create)) 
            {
                fs.Write(data, 0, data.Length);
                fs.Close();
                fs.Dispose();
            }
}

1 Ответов

Рейтинг:
11

F-ES Sitecore

Можете ли вы представить себе проблемы безопасности, если бы вы могли записывать файлы в файловую систему клиента? Ваш код работает на сервере и работает локально, так как ваш сервер и клиент-это одна и та же машина. После развертывания вашего серверного кода как нет доступа к клиентской файловой системе.

То, что вы хотите сделать, просто не может быть сделано.


VICK

Согласен! Мой 5.