From d100db102ded4dc2047f1b92f4ed0ed4c18d8ee4 Mon Sep 17 00:00:00 2001
From: Huangxiaoqiang-03 <1247017146@qq.com>
Date: 星期一, 11 十一月 2024 13:56:48 +0800
Subject: [PATCH] 1

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs |   58 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 42 insertions(+), 16 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs"
index 3e3820d..8462717 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/PDAController.cs"
@@ -8,6 +8,7 @@
 using WIDESEA_IInboundService;
 using WIDESEA_IOutboundService;
 using WIDESEA_ITaskInfoService;
+using System.IO;
 using WIDESEA_Model.Models;
 
 namespace WIDESEA_WMSServer.Controllers
@@ -20,7 +21,7 @@
         private readonly IOutboundService _outboundService;
         private readonly ITaskService _taskService;
 
-        public PDAController(ITaskService taskService, IInboundService inboundService,IOutboundService outboundService)
+        public PDAController(ITaskService taskService, IInboundService inboundService, IOutboundService outboundService)
         {
             _inboundService = inboundService;
             _outboundService = outboundService;
@@ -54,7 +55,7 @@
         //[HttpPost, HttpGet, Route("UploadApp"), AllowAnonymous]
         //public WebResponseContent UploadApp(IEnumerable<IFormFile> fileInput)
         //{
-            
+
         //    //return PDAOperate.UploadApp(Request.Form.Files.ToList());
         //}
 
@@ -63,7 +64,7 @@
         {
             try
             {
-                string versionPDA = AppSettings.Configuration["PDAVersion"]; 
+                string versionPDA = AppSettings.Configuration["PDAVersion"];
                 if (Convert.ToInt32(versionPDA) > Convert.ToInt32(version))
                     return WebResponseContent.Instance.OK(data: true);
                 else return WebResponseContent.Instance.OK(data: false);
@@ -74,18 +75,43 @@
             }
 
         }
-        //[HttpPost, HttpGet, Route("DownLoadApp"), AllowAnonymous]
-        //public virtual ActionResult DownLoadApp()
-        //{
-        //    string path = $"Upload/App/".MapPath();
-        //    if (!Directory.Exists(path)) Directory.CreateDirectory(path);
-        //    path += "WMS-PDA.apk";
-        //    byte[] fileBytes = System.IO.File.ReadAllBytes(path);
-        //    return File(
-        //            fileBytes,
-        //            System.Net.Mime.MediaTypeNames.Application.Octet,
-        //            System.IO.Path.GetFileName(path)
-        //        );
-        //}
+        [HttpPost, HttpGet, Route("DownLoadApp"), AllowAnonymous]
+        public virtual ActionResult DownLoadApp()
+        {
+            var filename = "WMS-PDA.apk";
+            var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/Upload", filename);
+
+            var memory = new MemoryStream();
+            using (var stream = new FileStream(filePath, FileMode.Open))
+            {
+                stream.CopyTo(memory);
+            }
+            memory.Position = 0;
+            return File(memory, GetContentType(filePath), Path.GetFileName(filePath));
+        }
+        private string GetContentType(string path)
+        {
+            var types = GetMimeTypes();
+            var ext = Path.GetExtension(path).ToLowerInvariant();
+            return types[ext];
+        }
+        private Dictionary<string, string> GetMimeTypes()
+        {
+            return new Dictionary<string, string>
+            {
+                { ".txt", "text/plain" },
+                { ".pdf", "application/pdf" },
+                { ".doc", "application/vnd.ms-word" },
+                { ".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document" },
+                { ".xls", "application/vnd.ms-excel" },
+                { ".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" },
+                { ".png", "image/png" },
+                { ".jpg", "image/jpeg" },
+                { ".jpeg", "image/jpeg" },
+                { ".gif", "image/gif" },
+                { ".csv", "text/csv" },
+                { ".apk", "application/vnd.android.package-archive" }
+            };
+        }
     }
 }

--
Gitblit v1.9.3