Files
BeWoPlaner/Service/ServiceImplementations/ApiStreamServiceImp.cs
2026-01-23 16:28:47 +01:00

61 lines
1.9 KiB
C#

using BeWo.Data.Access;
using BeWo.Service.Core;
using BeWo.Service.ServiceContracts;
using BS.Shared.Core;
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();
}
}