using BeWo.Data.Access; using BeWo.Service.Core; using BeWo.Service.ServiceContracts; using BS.Shared.Core; using BS.Shared.DataContracts.AdminService; using BS.Shared.DataContracts.MikePHPContracts; using DevExpress.Pdf.Native.BouncyCastle.Ocsp; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.ServiceModel; using System.ServiceModel.Web; using System.Text; using System.Threading.Tasks; namespace BeWo.Service.ServiceImplementations { [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Single)] public class ApiStreamServiceImp : IApiStreamService { //public Stream DownloadReport() //{ // string filename = "xrechnung.pdf"; // string filePath = Path.Combine(@"C:\Users\ownSoft\Desktop\XRechnung\", filename); // if (!File.Exists(filePath)) // throw new FileNotFoundException("Datei nicht gefunden"); // // Setze die Header // WebOperationContext.Current.OutgoingResponse.ContentType = "application/pdf"; // WebOperationContext.Current.OutgoingResponse.Headers.Add( // "Content-Disposition", $"attachment; filename=\"{filename}\""); // FileStream f = new FileStream(filePath, FileMode.Open); // int length = (int)f.Length; // WebOperationContext.Current.OutgoingResponse.ContentLength = length; // byte[] buffer = new byte[length]; // int sum = 0; // int count; // while ((count = f.Read(buffer, sum, length - sum)) > 0) // { // sum += count; // } // f.Close(); // return new MemoryStream(buffer); //} public Stream GetPdf() { WebOperationContext.Current.OutgoingResponse.ContentType = "application/pdf"; WebOperationContext.Current.OutgoingResponse.Headers.Add("Content-Disposition", "inline; filename=\"helloworld.pdf\""); var lFilePath = MergedConfig.GetSetting(WebConfigSetting.HelloWorldPdfLocation); return new FileStream(lFilePath, FileMode.Open, FileAccess.Read); } public Stream GetPdf2() => GetPdf(); } }