2014-02-07 4 views
1

Я создаю поток, я могу загрузить его как файл PDF & также может возвращать его как Filestream в формат PDF.Сохранить поток PDF в папку

Но я хочу сохранить этот поток в папку в формате PDF.

Я использую код, чтобы создать поток, как ::

public void PrintInvoice(long ID) 
     { 

      ReportDocument rd = new ReportDocument(); 
      rd.Load(AppDomain.CurrentDomain.BaseDirectory+(@"\Reports\InvoiceDocument.rpt")); 
      Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); 
      stream.Seek(0, SeekOrigin.Begin); 
      return File(stream, "application/pdf", "TestCrystal.pdf");  
     } 

Как сохранить сформированный поток в папку в формате PDF файл? Я хочу сохранить файл PDF на клиентской машине.

+0

на сервере? или на клиентской машине? Если ваше намерение находится на клиентской машине, тогда забудьте об этом, это невозможно. Если это на сервере, то дайте мне знать. – ramiramilu

+0

Я хочу сохранить файл PDF на клиентской машине. – Rahul

ответ

1

Чтобы сохранить файл на сервере -

using (MemoryStream ms = new MemoryStream()) 
{ 
    stream.CopyTo(ms); 
    System.IO.File.WriteAllBytes(Server.MapPath("~/Report1.pdf"), ms.ToArray()); 
} 

Чтобы сохранить файл на клиенте -

ОПЦИЯ1 - Using ActiveX, you Save file on Client machine without user interaction

option2 - Using Silverlight, you can put the file in IsolatedStorage available on client machine

К сожалению, вы не можете сохранить файл с JQuery/Jav aScript, из-за проблем с безопасностью. И есть много других вариантов, таких как Java-апплеты и т. Д.

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

Смежные вопросы