From 0a8ec482a5ad10bf3cd7010c89630b42ecaca741 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 05 二月 2021 10:19:31 +0800
Subject: [PATCH] Merge branch 'NewFilePath' into CJL

---
 HDL_ON/Common/FileUtlis.cs |   77 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 77 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/Common/FileUtlis.cs b/HDL_ON/Common/FileUtlis.cs
old mode 100755
new mode 100644
index 62136bd..0d3e2f2
--- a/HDL_ON/Common/FileUtlis.cs
+++ b/HDL_ON/Common/FileUtlis.cs
@@ -1,6 +1,7 @@
 锘縰sing System;
 using System.Collections.Generic;
 using System.IO;
+using System.Net;
 using HDL_ON.Entity;
 
 namespace HDL_ON.Common
@@ -269,5 +270,81 @@
                 }
             }
         }
+
+
+
+        /// <summary>
+        /// 涓嬭浇缃戠粶鍥剧墖
+        /// </summary>
+        /// <param name="fileName"></param>
+        /// <param name="url"></param>
+        public void DownLoadImage(string fileName, string url,Action action)
+        {
+            if (!File.Exists(fileName))
+            {
+                System.Threading.Tasks.Task.Run(() => {
+                    FileStream fs = null;
+                    try
+                    {
+                        MyWebClient webClient = new MyWebClient();
+                        byte[] recevieBytes = webClient.DownloadData(new Uri(url));
+                        fs = new FileStream(Path.Combine(RootPath, fileName), FileMode.Create, FileAccess.Write);
+                        //fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);
+                        fs.Write(recevieBytes, 0, recevieBytes.Length);
+                        fs.Flush();
+                    }
+                    catch (Exception ex) {
+                        MainPage.Log($"down image : {ex.Message}");
+                    }
+                    finally
+                    {
+                        if (fs != null)
+                        {
+                            fs.Close();
+                            action?.Invoke();
+                        }
+                    }
+                });
+            }
+        }
+
     }
+
+
+    public class MyWebClient : WebClient
+    {
+        int _timeout = 10000;
+
+        /// <summary>
+        /// 瓒呮椂鏃堕棿(姣)
+        /// </summary>
+        public int Timeout
+        {
+            get
+            {
+                return _timeout;
+            }
+            set
+            {
+                _timeout = value;
+            }
+        }
+        public MyWebClient()
+        {
+
+        }
+
+        public MyWebClient(int timeout)
+        {
+            this._timeout = timeout;
+        }
+
+        protected override WebRequest GetWebRequest(Uri address)
+        {
+            var result = base.GetWebRequest(address);
+            result.Timeout = this._timeout;
+            return result;
+        }
+    }
+
 }

--
Gitblit v1.8.0