using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Mvc;
|
using WIDESEA_Core;
|
using WIDESEA_Core.BaseController;
|
using WIDESEA_Core.Helper;
|
using System.IO;
|
using WIDESEA_Model.Models;
|
using System;
|
|
namespace WIDESEA_WMSServer.Controllers
|
{
|
[Route("api/PDA")]
|
[Authorize, ApiController]
|
public class PDAController : Controller
|
{
|
|
public PDAController()
|
{
|
|
}
|
|
[HttpPost, HttpGet, Route("UploadApp"), AllowAnonymous]
|
public async Task<WebResponseContent> UploadApk(IEnumerable<IFormFile> fileInput)
|
{
|
// 检查是否有文件上传
|
if (fileInput == null || !fileInput.Any())
|
{
|
return WebResponseContent.Instance.Error("文件未上传");
|
}
|
|
var formFile = fileInput.First();
|
var uploadFolder = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Upload");
|
Directory.CreateDirectory(uploadFolder);
|
|
var fileName = $"WMS-PDA.apk";
|
var filePath = Path.Combine(uploadFolder, fileName);
|
|
using (var stream = new FileStream(filePath, FileMode.Create))
|
{
|
await formFile.CopyToAsync(stream);
|
}
|
return WebResponseContent.Instance.OK("文件上传成功"); ;
|
}
|
|
[HttpPost, HttpGet, Route("GetPDAVersion"), AllowAnonymous]
|
public WebResponseContent GetPDAVersion(string version)
|
{
|
try
|
{
|
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);
|
}
|
catch (Exception ex)
|
{
|
return WebResponseContent.Instance.Error(ex.Message);
|
}
|
|
}
|
[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;
|
var ext = Path.GetExtension(filePath).ToLowerInvariant();
|
return File(memory, new Dictionary<string, string>{{ ".apk", "application/vnd.android.package-archive" }}[ext], Path.GetFileName(filePath));
|
}
|
}
|
}
|