Преглед на файлове

Merge branch 'master' of http://139.155.15.221:3000/zoulei/XdCxRhDW

wyq преди 1 година
родител
ревизия
624589b797
променени са 4 файла, в които са добавени 69 реда и са изтрити 113 реда
  1. 20 84
      XdCxRhDW.App/CorTools/DetectToolForm.cs
  2. 6 5
      XdCxRhDW.App/Properties/licenses.licx
  3. 37 18
      XdCxRhDW.Core/HttpHelper.cs
  4. 6 6
      XdCxRhDW.WebApi/Controllers/FileController.cs

+ 20 - 84
XdCxRhDW.App/CorTools/DetectToolForm.cs

@@ -30,9 +30,7 @@ namespace XdCxRhDW.App.CorTools
     public partial class DetectToolForm : DevExpress.XtraEditors.XtraForm
     {
         static readonly string inifile = Path.Combine(Application.StartupPath, "par.ini");
-        volatile bool beRunning = false;
-        private string uploadUrL;
-        private string token;
+        private string baseUrl;
         BindingList<CafResult> gridSource = new BindingList<CafResult>();
 
         public DetectToolForm()
@@ -102,6 +100,14 @@ namespace XdCxRhDW.App.CorTools
             this.gridControl1.DataSource = gridSource;
             btnCheck.Enabled = !ckKY.Checked && !ckIBS.Checked && !chkDama.Checked ? false : true;
             ReadIni();
+            using (RHDWContext db = new RHDWContext())
+            {
+                var res = await db.SysSetings.FirstOrDefaultAsync();
+                if (res != null)
+                {
+                    this.baseUrl = $"http://{IpHelper.GetLocalIp()}:{res.HttpPort}/api/";
+                }
+            }
         }
 
         private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
@@ -135,7 +141,7 @@ namespace XdCxRhDW.App.CorTools
         /// <param name="e"></param>
         private void gridView1_MouseDown(object sender, MouseEventArgs e)
         {
-            if (e.Button == MouseButtons.Right && !beRunning)
+            if (e.Button == MouseButtons.Right)
             {
                 popupMenu1.ShowPopup(Cursor.Position);
             }
@@ -220,34 +226,22 @@ namespace XdCxRhDW.App.CorTools
             dto.dmcType = dmcType;
             try
             {
-                using (RHDWContext db = new RHDWContext())
-                {
-                    var res = await db.SysSetings.FirstOrDefaultAsync();
-                    if (res != null)
-                    {
-                        uploadUrL = $"http://{IpHelper.GetLocalIp()}:{res.HttpPort}/api/DetectCg";
-                    }
-                }
-                dto.file1 = UpLoadFile(btnFile1.Text);
+                dto.file1 = HttpHelper.UploadFile(btnFile1.Text, baseUrl + "File/UploadFileAsync");
                 dto.fsHz = double.Parse(tefs.Text) * 1e6;
-                // 构建上传请求的 Uri
-                string uploadUri = $"{uploadUrL}/DetectCalc";
-
                 var content = new StringContent(JsonConvert.SerializeObject(dto), System.Text.Encoding.UTF8, "application/json");
-                var dmcResult = HttpHelper.PostRequest<IEnumerable<DetectResDto>>(uploadUri, content);
+                var dmcResult = HttpHelper.PostRequest<IEnumerable<DetectResDto>>(baseUrl + "DetectCg/DetectCalc", content);
                 if (dmcResult != null)
                 {
                     gridSource.Clear();
                     foreach (var dmcItem in dmcResult)
                     {
-                        token = dmcItem.Token;
                         gridSource.Add(new CafResult()
                         {
                             file1 = btnFile1.Text,
                             file2 = btnFile2.Text,
                             smpstart = dmcItem.Start,
                             smplen = dmcItem.Length,
-                            tm=dmcItem.TimeMs,
+                            tm = dmcItem.TimeMs,
                         });
                     }
                 }
@@ -316,16 +310,8 @@ namespace XdCxRhDW.App.CorTools
             XcorrStruct xItem = new XcorrStruct();
             try
             {
-                using (RHDWContext db = new RHDWContext())
-                {
-                    var res = await db.SysSetings.FirstOrDefaultAsync();
-                    if (res != null)
-                    {
-                        uploadUrL = $"http://{IpHelper.GetLocalIp()}:{res.HttpPort}/api/DetectCg";
-                    }
-                }
-                xItem.file1 = UpLoadFile(btnFile1.Text);
-                xItem.file2 = UpLoadFile(btnFile2.Text);
+                xItem.file1 = HttpHelper.UploadFile(btnFile1.Text, baseUrl + "File/UploadFileAsync");
+                xItem.file2 = HttpHelper.UploadFile(btnFile2.Text, baseUrl + "File/UploadFileAsync");
                 xItem.smpCount = int.Parse(teCount.Text);
                 xItem.samplingRate = Convert.ToInt32(double.Parse(tefs.Text) * 1e6);
                 xItem.dtCenter = int.Parse(teCenter.Text);
@@ -358,29 +344,24 @@ namespace XdCxRhDW.App.CorTools
 
             WriteIni();
             btnCalc.Text = "停止";
-            beRunning = true;
             gridSource.Clear();
             foreach (var xcitem in xcorrs)
             {
-                // 构建上传请求的 Uri
-                string uploadUri = $"{uploadUrL}/EstimationCalc";
-
                 var content = new StringContent(JsonConvert.SerializeObject(xcitem), System.Text.Encoding.UTF8, "application/json");
                 try
                 {
-                    var result = HttpHelper.PostRequest<EstimationResDto>(uploadUri, content);
+                    var result = HttpHelper.PostRequest<EstimationResDto>(baseUrl+ "DetectCg/EstimationCalc", content);
                     if (result != null)
                     {
-                        token = result.Token;
                         gridSource.Add(new CafResult()
                         {
                             file1 = btnFile1.Text,
                             file2 = btnFile2.Text,
                             smpstart = result.Smpstart,
                             smplen = result.Smplen,
-                            dt=result.Dt,
-                            df= result.Df,
-                            snr= result.Snr,
+                            dt = result.Dt,
+                            df = result.Df,
+                            snr = result.Snr,
                             tm = result.TimeMs,
                         });
                         gridView1.FocusedRowHandle = gridSource.Count - 1;
@@ -395,54 +376,12 @@ namespace XdCxRhDW.App.CorTools
             }
 
             btnCalc.Text = "计算";
-            beRunning = false;
 
         }
         private void StopCalc()
-        {   // 构建上传请求的 Uri
-            string uploadUri = $"{uploadUrL}/StopEstimationCalc?token={token}";
-            var content = new StringContent("", System.Text.Encoding.UTF8, "application/json");
-            try
-            {
-                var result = HttpHelper.PostRequest<bool>(uploadUri, content);
-                if (result)
-                {
-                    DxHelper.MsgBoxHelper.ShowInfo($"停止成功");
-                }
-            }
-            catch (Exception)
-            {
-            }
+        {  
         }
-        private string UpLoadFile(string filePath)
-        {
-            string file = string.Empty;
-
-            // 构建上传请求的 Uri
-            string uploadUri = $"{uploadUrL}/UploadFile";
-            try
-            {
-                // 添加文件内容到 MultipartFormDataContent
-                byte[] fileBytes = File.ReadAllBytes(filePath);
 
-                // 创建 MultipartFormDataContent 用于封装文件内容
-                MultipartFormDataContent content = new MultipartFormDataContent();
-                ByteArrayContent fileContent = new ByteArrayContent(fileBytes);
-                content.Add(fileContent, "file", Path.GetFileName(filePath));
-
-                // 发送上传请求
-               var filedto = HttpHelper.PostRequest<FileUploadResDto>(uploadUri, content);
-                if (filedto != null)
-                {
-                    file = filedto.FileName;
-                }
-            }
-            catch (Exception ex)
-            {
-                throw new Exception($"上传文件{filePath}到{uploadUri}失败!");
-            }
-            return file;
-        }
         private async Task<CafResult> ExecuteCorAsync(XcorrStruct xItem)
         {
 
@@ -453,20 +392,17 @@ namespace XdCxRhDW.App.CorTools
             {
                 DxHelper.MsgBoxHelper.ShowError($"内部错误");
                 btnCalc.Text = "计算";
-                beRunning = false;
                 return null;
             }
             else if (result.flag == -1)
             {
                 DxHelper.MsgBoxHelper.ShowError($"计算所需数据超出文件范围");
                 btnCalc.Text = "计算";
-                beRunning = false;
                 return null;
             }
             else if (result.flag == -3)
             {
                 btnCalc.Text = "计算";
-                beRunning = false;
                 return null;
             }
             return result;

+ 6 - 5
XdCxRhDW.App/Properties/licenses.licx

@@ -1,9 +1,10 @@
-DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.SearchLookUpEdit, DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraEditors.ImageComboBoxEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.SearchLookUpEdit, DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

+ 37 - 18
XdCxRhDW.Core/HttpHelper.cs

@@ -1,34 +1,36 @@
 using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
+using System.IO;
 using System.Linq;
 using System.Net.Http;
 using System.Text;
 using System.Threading.Tasks;
 using XdCxRhDw.Dto;
+using XdCxRhDW.Repostory.EFContext;
 
 namespace XdCxRhDW.Core
 {
     public class HttpHelper
     {
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="url"></param>
-        /// <param name="data"></param>
-        /// <returns></returns>
-        public static string PostRequest(string url, HttpContent data)
-        {
-            var handler = new HttpClientHandler() { UseCookies = false };
-            HttpClient client = new HttpClient(handler);
-            client.Timeout = TimeSpan.FromSeconds(10);
-            var message = new HttpRequestMessage(HttpMethod.Post, url);
-            message.Content = data;
-            var response = client.SendAsync(message).Result;
-            response.EnsureSuccessStatusCode();
-            var result = response.Content.ReadAsStringAsync().Result;
-            return result;
-        }
+        ///// <summary>
+        ///// 
+        ///// </summary>
+        ///// <param name="url"></param>
+        ///// <param name="data"></param>
+        ///// <returns></returns>
+        //public static string PostRequest(string url, HttpContent data)
+        //{
+        //    var handler = new HttpClientHandler() { UseCookies = false };
+        //    HttpClient client = new HttpClient(handler);
+        //    client.Timeout = TimeSpan.FromSeconds(10);
+        //    var message = new HttpRequestMessage(HttpMethod.Post, url);
+        //    message.Content = data;
+        //    var response = client.SendAsync(message).Result;
+        //    response.EnsureSuccessStatusCode();
+        //    var result = response.Content.ReadAsStringAsync().Result;
+        //    return result;
+        //}
         /// <summary>
         /// 
         /// </summary>
@@ -57,5 +59,22 @@ namespace XdCxRhDW.Core
                 throw new Exception(AjaxResult.msg);
             }
         }
+        public static string UploadFile(string localFile, string uploadUrl)
+        {
+            try
+            {
+                // 添加文件内容到 MultipartFormDataContent
+                byte[] fileBytes = File.ReadAllBytes(localFile);
+                MultipartFormDataContent content = new MultipartFormDataContent();
+                ByteArrayContent fileContent = new ByteArrayContent(fileBytes);
+                content.Add(fileContent, "file", Path.GetFileName(localFile));
+                var filedto = HttpHelper.PostRequest<FileUploadResDto>(uploadUrl, content);
+                return filedto.FileName;
+            }
+            catch
+            {
+                throw new Exception($"上传文件{Path.GetFileName(localFile)}到{uploadUrl}失败!");
+            }
+        }
     }
 }

+ 6 - 6
XdCxRhDW.WebApi/Controllers/FileController.cs

@@ -29,15 +29,15 @@ namespace XdCxRhDW.WebApi.Controllers
         /// <summary>
         /// 上传文件
         /// </summary>
-        /// <param name="file">文件</param>
         /// <returns></returns>
         [HttpPost, SwaggerForm]
-        public async Task<AjaxResult<FileUploadResDto>> UploadFileAsync(HttpPostedFileBase httpFile)
+        public async Task<AjaxResult<FileUploadResDto>> UploadFileAsync()
         {
-            //if (!Request.Content.IsMimeMultipartContent("form-data"))
-            //{
-            //    return Error<FileDto>("请求数据不是multipart/form-data类型");
-            //}
+            if (!Request.Content.IsMimeMultipartContent("form-data"))
+            {
+                bool s=Request.Content.IsFormData();
+                return Error<FileUploadResDto>("请求数据不是form-data类型");
+            }
             var provider = new MultipartMemoryStreamProvider();
             await Request.Content.ReadAsMultipartAsync(provider);
             Directory.CreateDirectory(uploadFolder);