From 76f9e7b13c2c87717f033e5c30de2a4b14348712 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 08 一月 2024 11:08:37 +0800
Subject: [PATCH] 上传GPS图片功能

---
 JiangSu/index.html                   |   33 +++++++++++++++-
 JiangSu/Controllers/ImgController.cs |   21 ++++++----
 JiangSu/Models/Img.cs                |   25 ++++++++++++
 JiangSu/App_Data/js.db               |    0 
 4 files changed, 68 insertions(+), 11 deletions(-)

diff --git a/JiangSu/App_Data/js.db b/JiangSu/App_Data/js.db
index 5da0a6d..695369f 100644
--- a/JiangSu/App_Data/js.db
+++ b/JiangSu/App_Data/js.db
Binary files differ
diff --git a/JiangSu/Controllers/ImgController.cs b/JiangSu/Controllers/ImgController.cs
index 8ca3868..ab6ef18 100644
--- a/JiangSu/Controllers/ImgController.cs
+++ b/JiangSu/Controllers/ImgController.cs
@@ -96,7 +96,7 @@
         }
 
         [HttpPost]
-        public Task<IEnumerable<FileDesc>> Post()
+        public Task<IEnumerable<FileDesc>> Upload()
         {
             string root = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, uploadPath);
             if (!Directory.Exists(root)) Directory.CreateDirectory(root);
@@ -120,17 +120,20 @@
 
                     string md5 = Tools.CalcFileMD5(f.LocalFileName);
                     string newName = md5 + info.Extension;
-                    string newFile = Path.Combine(root, uploadPath, newName);
+                    string newFile = Path.Combine(root, newName);
 
-                    Img img = new Img();
-                    img.name = info.Name;
-                    img.path = uploadPath + "\\" + newName;
-                    //img.geom = Tools.GetImgGps(f.LocalFileName);
+                    List<string> pz = Tools.GetImgGps(f.LocalFileName);
+                    Img img = new Img(info.Name, uploadPath + "/" + newName, string.Empty);
+                    if (null != pz) img.SetXYZ(pz[0], pz[1], pz[2]);
 
-                    if (!File.Exists(newFile)) File.Move(f.LocalFileName, newFile);
+                    FileDesc desc = new FileDesc(info.Name, info.Length);
+                    if (File.Exists(newFile))
+                        File.Delete(f.LocalFileName);
+                    else
+                        File.Move(f.LocalFileName, newFile);
+
                     int rows = ImgDAL.Insert(img);
-
-                    infos.Add(new FileDesc(info.Name, info.Length));
+                    if (rows > 0) infos.Add(desc);
                 }
 
                 return infos;
diff --git a/JiangSu/Models/Img.cs b/JiangSu/Models/Img.cs
index e29ef12..93ea75f 100644
--- a/JiangSu/Models/Img.cs
+++ b/JiangSu/Models/Img.cs
@@ -9,6 +9,31 @@
     {
         public Img() { }
 
+        public Img(string name, string path, string json)
+        {
+            this.name = name;
+            this.path = path;
+            this.json = json;
+        }
+
+        public Img(string name, string path, string json, double x, double y, double z)
+        {
+            this.name = name;
+            this.path = path;
+            this.json = json;
+            this.x = x;
+            this.y = y;
+            this.z = z;
+        }
+
+        public void SetXYZ(string x, string y, string z)
+        {
+            double val = 0;
+            if (double.TryParse(x, out val)) this.x = val;
+            if (double.TryParse(y, out val)) this.y = val;
+            if (double.TryParse(z, out val)) this.z = val;
+        }
+
         public long id { set; get; }
 
         public string name { set; get; }
diff --git a/JiangSu/index.html b/JiangSu/index.html
index 0d7f156..f968f78 100644
--- a/JiangSu/index.html
+++ b/JiangSu/index.html
@@ -98,6 +98,31 @@
       return JSON.stringify(model);
     }
 
+    function UploadImg() {
+      var formData = new FormData();
+      var fs = document.getElementById("imgs");
+      for (var i = 0, c = fs.files.length; i < c; i++) {
+        formData.append(fs.files[i].name, fs.files[i]); // name, file
+      }
+
+      $.ajax("Img/Upload", {
+        type: "POST",
+        data: formData,
+        async: true,
+        cache: false,
+        processData: false,
+        contentType: false,
+        success: function (rs) {
+          console.log(rs);
+          alert(JSON.stringify(rs));
+        },
+        error: function (e) {
+          console.error(e);
+          alert("涓婁紶鏂囦欢澶辫触锛�");
+        }
+      });
+    }
+
     function ajax(url, type, data, dataType, contentType, fn) {
       $.ajax({
         url: url,
@@ -151,10 +176,14 @@
 
     &nbsp;&nbsp; id: <input id="iid" value="1" /> <br />
     name: <input id="iname" value="1.jpg"/> <br />
-    path: <input id="ipath" value="Images\1.jpg"/> <br />
+    path: <input id="ipath" value="Images/1.jpg"/> <br />
     json: <input id="ijson" value="{}"/> <br />
     <input type="button" value="InsertImg" onclick="InsertImg();" />
-    <input type="button" value="UpdateImgById" onclick="UpdateImgById();" /><br /> <br />
+    <input type="button" value="UpdateImgById" onclick="UpdateImgById();" />
+    <label for="apifiles">閫夋嫨鍥剧墖锛�</label>
+    <input id="imgs" type="file" multiple="multiple" accept=".jpg,.png" />
+    <input value="UploadImg" type="button" onclick="UploadImg();" />
+    <br /> <br />
   </form>
 </body>
 </html>

--
Gitblit v1.9.3