Ver código fonte

添加文件下载功能

章政 7 anos atrás
pai
commit
962f410537

+ 5 - 1
UAS_Web/Browser.cs

@@ -18,13 +18,14 @@ namespace UAS_Web
         {
             InitializeComponent();
             Text = "思拓微-供应商条码打印";
-            string path = "http://stwecig.vicp.io:8099/ERP/jsps/vendbarcode/login.jsp";
+            string path = "http://192.168.253.80:8090/ERP/jsps/vendbarcode/login.jsp";
             webBrowser = new ChromiumWebBrowser(path)
             {
                 Dock = DockStyle.Fill
             };
             webBrowser.MenuHandler = new MenuHandler();
             webBrowser.RequestHandler = new RequestHandler();
+            webBrowser.DownloadHandler = new DownLoadFile();
             Controls.Add(webBrowser);
             webBrowser.LoadError += WebBrowser_LoadError;
         }
@@ -32,8 +33,11 @@ namespace UAS_Web
         private void WebBrowser_LoadError(object sender, LoadErrorEventArgs e)
         {
             //指定放大镜
+            Console.WriteLine(e.FailedUrl);
             if (e.FailedUrl.Contains("vendbarcode/batchdelivery.jsp?whoami=Delivery!Deal#"))
                 return;
+            if (e.FailedUrl.Contains("excel/create.xls"))
+                return;
             MessageBox.Show("当前网络无法访问" + e.ErrorText);
         }
 

+ 1 - 0
UAS_Web/UAS_Web.csproj

@@ -110,6 +110,7 @@
     </Compile>
     <Compile Include="Program.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="tool\DownLoadFile.cs" />
     <Compile Include="tool\FilterManager.cs" />
     <Compile Include="tool\MenuHandler.cs" />
     <Compile Include="tool\MessageFilter.cs" />

+ 31 - 0
UAS_Web/tool/DownLoadFile.cs

@@ -0,0 +1,31 @@
+using CefSharp;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace UAS_Web.tool
+{
+    class DownLoadFile : IDownloadHandler
+    {
+        public void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
+        {
+            if (!callback.IsDisposed)
+            {
+                using (callback)
+                {
+                    callback.Continue(@"C:\Users\" +
+                            System.Security.Principal.WindowsIdentity.GetCurrent().Name +
+                            @"\Downloads\" +
+                            downloadItem.SuggestedFileName,
+                        showDialog: true);
+                }
+            }
+        }
+
+        public void OnDownloadUpdated(IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
+        {
+
+        }
+    }
+}

+ 1 - 1
UAS_Web/tool/MenuHandler.cs

@@ -10,7 +10,7 @@ namespace UAS_Web.tool
     {
         public void OnBeforeContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model)
         {
-            browser.ShowDevTools();
+            //browser.ShowDevTools();
             model.Clear();
         }