1
Huangxiaoqiang-03
2024-11-11 d100db102ded4dc2047f1b92f4ed0ed4c18d8ee4
代码管理/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" }
            };
        }
    }
}