From 57e2d704874d9ddd45fee83a431de6f3a14ba073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=BE=D0=B2=20=D0=94?= =?UTF-8?q?=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B0=D0=BD=D0=B4=D1=80=D0=BE=D0=B2=D0=B8=D1=87?= Date: Thu, 10 Aug 2023 12:08:02 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=BB=D0=BB=D0=B5=D1=80=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit После рефакторинга контроллеров, был посеян баг. Был удалён contentType из File, что привело к тому, что файлы скачивались с расширением .htm. --- .../Controllers/AutoGeneratedDailyReportController.cs | 2 +- AsbCloudWebApi/Controllers/DailyReportController.cs | 4 ++-- AsbCloudWebApi/Controllers/PlannedTrajectoryController.cs | 4 ++-- AsbCloudWebApi/Controllers/ProcessMapController.cs | 4 ++-- .../Controllers/SAUB/TelemetryDataSaubController.cs | 2 +- AsbCloudWebApi/Controllers/WellOperationController.cs | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/AsbCloudWebApi/Controllers/AutoGeneratedDailyReportController.cs b/AsbCloudWebApi/Controllers/AutoGeneratedDailyReportController.cs index df94b605..f38a3ea8 100644 --- a/AsbCloudWebApi/Controllers/AutoGeneratedDailyReportController.cs +++ b/AsbCloudWebApi/Controllers/AutoGeneratedDailyReportController.cs @@ -53,7 +53,7 @@ public class AutoGeneratedDailyReportController : ControllerBase reportDate, cancellationToken); - return File(reportFile.stream, reportFile.fileName); + return File(reportFile.stream, "application/octet-stream", reportFile.fileName); } /// diff --git a/AsbCloudWebApi/Controllers/DailyReportController.cs b/AsbCloudWebApi/Controllers/DailyReportController.cs index 707421dd..45d7f135 100644 --- a/AsbCloudWebApi/Controllers/DailyReportController.cs +++ b/AsbCloudWebApi/Controllers/DailyReportController.cs @@ -162,7 +162,7 @@ namespace AsbCloudWebApi.Controllers /// /// [HttpGet("{date}/excel")] - [ProducesResponseType(typeof(PhysicalFileResult), (int)System.Net.HttpStatusCode.OK, "application/octet-stream")] + [ProducesResponseType(typeof(PhysicalFileResult), (int)System.Net.HttpStatusCode.OK)] [ProducesResponseType(StatusCodes.Status204NoContent)] public async Task DownloadAsync(int idWell, DateOnly date, CancellationToken token) { @@ -177,7 +177,7 @@ namespace AsbCloudWebApi.Controllers return NoContent(); var fileName = $"Суточный рапорт по скважине {well.Caption} куст {well.Cluster}.xlsx"; - return File(stream, fileName); + return File(stream, "application/octet-stream", fileName); } diff --git a/AsbCloudWebApi/Controllers/PlannedTrajectoryController.cs b/AsbCloudWebApi/Controllers/PlannedTrajectoryController.cs index 322dc454..54797cca 100644 --- a/AsbCloudWebApi/Controllers/PlannedTrajectoryController.cs +++ b/AsbCloudWebApi/Controllers/PlannedTrajectoryController.cs @@ -49,7 +49,7 @@ namespace AsbCloudWebApi.Controllers { var stream = plannedTrajectoryImportService.GetTemplateFile(); var fileName = "ЕЦП_шаблон_файла_плановая_траектория.xlsx"; - return File(stream, fileName); + return File(stream, "application/octet-stream", fileName); } /// @@ -68,7 +68,7 @@ namespace AsbCloudWebApi.Controllers return Forbid(); var stream = await plannedTrajectoryImportService.ExportAsync(idWell, token); var fileName = await plannedTrajectoryImportService.GetFileNameAsync(idWell, token); - return File(stream, fileName); + return File(stream, "application/octet-stream", fileName); } /// diff --git a/AsbCloudWebApi/Controllers/ProcessMapController.cs b/AsbCloudWebApi/Controllers/ProcessMapController.cs index 0199cb9a..b2d97a71 100644 --- a/AsbCloudWebApi/Controllers/ProcessMapController.cs +++ b/AsbCloudWebApi/Controllers/ProcessMapController.cs @@ -170,7 +170,7 @@ namespace AsbCloudWebApi.Controllers { var stream = await processMapPlanImportService.GetExcelTemplateStreamAsync(cancellationToken); var fileName = "ЕЦП_шаблон_файла_РТК.xlsx"; - return File(stream, fileName); + return File(stream, "application/octet-stream", fileName); } /// @@ -236,7 +236,7 @@ namespace AsbCloudWebApi.Controllers var stream = await processMapPlanImportService.ExportAsync(idWell, cancellationToken); var fileName = $"РТК-план по скважине {well.Caption} куст {well.Cluster}.xlsx"; - return File(stream, fileName); + return File(stream, "application/octet-stream", fileName); } private async Task NotifyUsersBySignalR(int idWell, CancellationToken token) diff --git a/AsbCloudWebApi/Controllers/SAUB/TelemetryDataSaubController.cs b/AsbCloudWebApi/Controllers/SAUB/TelemetryDataSaubController.cs index 5cf3fce0..be694818 100644 --- a/AsbCloudWebApi/Controllers/SAUB/TelemetryDataSaubController.cs +++ b/AsbCloudWebApi/Controllers/SAUB/TelemetryDataSaubController.cs @@ -60,7 +60,7 @@ namespace AsbCloudWebApi.Controllers.SAUB var stream = await telemetryDataSaubService.GetZippedCsv(idWell, beginDate, endDate, token).ConfigureAwait(false); var fileName = $"DataSaub idWell{idWell} {beginDate:yyyy-MM-DDTHH-mm} - {endDate:yyyy-MM-DDTHH-mm}.zip"; - return File(stream, fileName); + return File(stream, "application/octet-stream", fileName); } } } diff --git a/AsbCloudWebApi/Controllers/WellOperationController.cs b/AsbCloudWebApi/Controllers/WellOperationController.cs index 4bb40bdc..0ab6f0c1 100644 --- a/AsbCloudWebApi/Controllers/WellOperationController.cs +++ b/AsbCloudWebApi/Controllers/WellOperationController.cs @@ -333,7 +333,7 @@ namespace AsbCloudWebApi.Controllers var stream = wellOperationImportService.Export(idWell); var fileName = await wellService.GetWellCaptionByIdAsync(idWell, token) + "_operations.xlsx"; - return File(stream, fileName); + return File(stream, "application/octet-stream", fileName); } /// @@ -373,7 +373,7 @@ namespace AsbCloudWebApi.Controllers { var stream = wellOperationImportService.GetExcelTemplateStream(); var fileName = "ЕЦП_шаблон_файла_операций.xlsx"; - return File(stream, fileName); + return File(stream, "application/octet-stream", fileName); } private async Task CanUserAccessToWellAsync(int idWell, CancellationToken token)