//using IRaCIS.Core.Application.Helper;
//using MassTransit;
//using Microsoft.AspNetCore.Authorization;
//using Microsoft.AspNetCore.Builder;
//using Microsoft.AspNetCore.Hosting;
//using Microsoft.AspNetCore.Http;
//using Microsoft.AspNetCore.Mvc;
//using Microsoft.AspNetCore.StaticFiles;
//using RestSharp;
//using SharpCompress.Common;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//namespace IRaCIS.Core.Application.Service.MinimalApiService
//{
// ///
// /// 上传文件转PDF 或者给url 这边下载然后转PDF
// ///
// ///
// ///
// [ApiExplorerSettings(GroupName = "Institution")]
// public class FileToPDFService(IWebHostEnvironment _hostEnvironment) : ServiceBase
// {
// [AllowAnonymous]
// [RoutePattern(HttpMethod = "Post")]
// public async Task UploadFileAsync([FromForm] IFormFile file)
// {
// var tempFileName = NewId.NextGuid() + file.FileName;
// var tempPDFName = Path.GetFileNameWithoutExtension(tempFileName) + ".pdf";
// // 获取wwwroot目录
// var wwwRootPath = Path.Combine(FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment), "temp");
// // 检查wwwroot/temp目录是否存在,不存在则创建
// if (!Directory.Exists(wwwRootPath))
// {
// Directory.CreateDirectory(wwwRootPath);
// }
// // 文件保存路径
// var pdfFilePath = Path.Combine(wwwRootPath, tempPDFName);
// var tempFilePath = Path.Combine(wwwRootPath, tempFileName);
// using var stream = File.OpenWrite(tempFilePath);
// await file.CopyToAsync(stream);
// FileConvertHelper.ConvertWordToPdf(tempFilePath, Path.GetDirectoryName(pdfFilePath));
// var fileBytes = await File.ReadAllBytesAsync(pdfFilePath);
// // 清理临时上传的文件和pdf
// if (File.Exists(pdfFilePath))
// {
// File.Delete(pdfFilePath);
// }
// if (File.Exists(tempFilePath))
// {
// File.Delete(tempFilePath);
// }
// new FileExtensionContentTypeProvider().Mappings.TryGetValue(Path.GetExtension(tempPDFName), out var contentType);
// return Results.File(fileBytes, contentType);
// }
// public async Task GetPDFFileAsync(string fileUrl)
// {
// var tempFileName = NewId.NextGuid() + Path.GetFileName(fileUrl);
// var tempPDFName = Path.GetFileNameWithoutExtension(tempFileName) + ".pdf";
// // 获取wwwroot目录
// var wwwRootPath = Path.Combine(FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment), "temp");
// // 检查wwwroot/temp目录是否存在,不存在则创建
// if (!Directory.Exists(wwwRootPath))
// {
// Directory.CreateDirectory(wwwRootPath);
// }
// // 文件保存路径
// var pdfFilePath = Path.Combine(wwwRootPath, tempPDFName);
// var tempFilePath = Path.Combine(wwwRootPath, tempFileName);
// //请求url获取文件
// var client = new RestClient(fileUrl);
// var request = new RestRequest(fileUrl, Method.Get);
// var response = await client.ExecuteAsync(request);
// // 检查响应是否成功
// if (response.IsSuccessful)
// {
// // 将响应内容写入到本地文件
// await File.WriteAllBytesAsync(tempFilePath, response.RawBytes);
// FileConvertHelper.ConvertWordToPdf(tempFilePath, Path.GetDirectoryName(pdfFilePath));
// var fileBytes = await File.ReadAllBytesAsync(pdfFilePath);
// // 清理临时上传的文件和pdf
// if (File.Exists(pdfFilePath))
// {
// File.Delete(pdfFilePath);
// }
// if (File.Exists(tempFilePath))
// {
// File.Delete(tempFilePath);
// }
// new FileExtensionContentTypeProvider().Mappings.TryGetValue(Path.GetExtension(tempPDFName), out var contentType);
// return Results.File(fileBytes, contentType);
// }
// else
// {
// Console.WriteLine($"下载文件失败: {response.ErrorMessage}");
// return Results.Problem("下载文件失败", statusCode: StatusCodes.Status500InternalServerError);
// }
// }
// }
//}