xf 1 năm trước cách đây
mục cha
commit
3a3d5fac31
1 tập tin đã thay đổi với 19 bổ sung7 xóa
  1. 19 7
      src/Hotline.Api/Controllers/FileController.cs

+ 19 - 7
src/Hotline.Api/Controllers/FileController.cs

@@ -18,18 +18,20 @@ namespace Hotline.Api.Controllers
         private readonly IMapper _mapper;
         private readonly ISystemDicDataCacheManager _sysDicDataCacheManager;
         private readonly IRepository<File.File> _fileRepository;
+        private readonly ILogger<FileController> _logger;
 
         public FileController(
             ISessionContext sessionContext,
             IMapper mapper,
             ISystemDicDataCacheManager sysDicDataCacheManager,
-            IRepository<File.File> fileRepository
-            )
+            IRepository<File.File> fileRepository,
+            ILogger<FileController> logger)
         {
             _sessionContext = sessionContext;
             _mapper = mapper;
             _sysDicDataCacheManager = sysDicDataCacheManager;
             _fileRepository = fileRepository;
+            _logger = logger;
         }
         #region 附件管理
         /// <summary>
@@ -146,11 +148,21 @@ namespace Hotline.Api.Controllers
         [HttpGet("download-proxy")]
         public async Task<IActionResult> DownloadProxy([FromServices] IHttpClientFactory clientFactory, string path)
         {
-            using var client = clientFactory.CreateClient();
-            var responseMessage = await client.GetAsync(path, HttpContext.RequestAborted);
-            responseMessage.EnsureSuccessStatusCode();
-            var stream = await responseMessage.Content.ReadAsStreamAsync(HttpContext.RequestAborted);
-            return File(stream, responseMessage?.Content?.Headers?.ContentType?.MediaType);
+            try
+            {
+                _logger.LogInformation($"request file path: {path}");
+                using var client = clientFactory.CreateClient();
+                var responseMessage = await client.GetAsync(path, HttpContext.RequestAborted);
+                responseMessage.EnsureSuccessStatusCode();
+                var stream = await responseMessage.Content.ReadAsStreamAsync(HttpContext.RequestAborted);
+                return File(stream, responseMessage?.Content?.Headers?.ContentType?.MediaType);
+            }
+            catch (Exception e)
+            {
+                Console.WriteLine(e);
+                throw;
+            }
+            
         }
     }
 }