当前位置: 首页 > wzjs >正文

中型网站每天访问量吉安高端网站建设公司

中型网站每天访问量,吉安高端网站建设公司,wordpress 功能小工具栏,医院网站制作好吗重点在 启用文件下载 和 通过 JavaScript 调用 C# 保存文件: 1. 添加文件下载处理器 (DownloadHandler) 在 VueFormService 类中,添加一个实现 IDownloadHandler 接口的类,用于处理文件下载到本地。 // 新增的 DownloadHandler 类 public c…

重点在 启用文件下载通过 JavaScript 调用 C# 保存文件


1. 添加文件下载处理器 (DownloadHandler)

VueFormService 类中,添加一个实现 IDownloadHandler 接口的类,用于处理文件下载到本地。

// 新增的 DownloadHandler 类
public class DownloadHandler : IDownloadHandler
{public void OnBeforeDownload(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback){// 设置默认保存路径(例如保存到 Downloads 文件夹)string savePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads", downloadItem.SuggestedFileName);callback.Continue(savePath, showDialog: false); // showDialog: true 会弹出保存对话框}public void OnDownloadUpdated(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback){// 下载状态更新(例如进度、完成通知)if (downloadItem.IsComplete){MessageBox.Show($"文件已保存到:{downloadItem.FullPath}");}}
}

2. LoadVuePage 方法中绑定下载处理器

在初始化浏览器时,设置 DownloadHandler 属性。

public static void LoadVuePage(VueBaseForm vueForm, string subFolder = "")
{// ... 其他代码 ...ChromiumWebBrowser browser = new ChromiumWebBrowser(url);vueForm.browser = browser;// 添加下载处理器browser.DownloadHandler = new DownloadHandler();  // <-- 新增代码vueForm.Controls.Add(browser);browser.Dock = DockStyle.Fill;// ... 其他代码 ...
}

3. 添加 JavaScript 调用 C# 保存文件的功能

RegisterHander 方法中,注册一个供 JavaScript 调用的对象,用于直接保存文件内容。

(1) 新增 FileSaveHandler
public class FileSaveHandler
{public void SaveFile(string fileName, string content){string savePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads", fileName);File.WriteAllText(savePath, content);MessageBox.Show($"文件已保存到:{savePath}");}
}
(2) 修改 RegisterHander 方法
public static void RegisterHander(VueBaseForm vueForm)
{ChromiumWebBrowser browser = vueForm.browser;// 注册文件保存处理器browser.JavascriptObjectRepository.Register("fileSaver", new FileSaveHandler(), isAsync: false, options: BindingOptions.DefaultBinder);  // <-- 新增代码// ... 其他原有注册代码 ...
}

4. JavaScript 调用示例

在 Vue 页面中,通过 fileSaver 对象调用 C# 的 SaveFile 方法:

// 示例:点击按钮保存文件
function saveFile() {const content = "Hello, this is a saved file!";fileSaver.saveFile("example.txt", content);
}

完整代码整合后的修改点

修改后的 VueFormService
using CefSharp;
using CefSharp.WinForms;
using CefSharpVue;
using CefSharpVue.Core.Utils.Winform;
using CefSharpVue.Hander;
using DPI_Ter.Vue;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Windows.Forms;namespace CefSharpVue
{public class VueFormService{// ... 其他原有代码 ...public static void LoadVuePage(VueBaseForm vueForm, string subFolder = ""){// ... 其他代码 ...ChromiumWebBrowser browser = new ChromiumWebBrowser(url);vueForm.browser = browser;// 绑定下载处理器browser.DownloadHandler = new DownloadHandler();  // <-- 新增代码vueForm.Controls.Add(browser);browser.Dock = DockStyle.Fill;// ... 其他代码 ...}public static void RegisterHander(VueBaseForm vueForm){ChromiumWebBrowser browser = vueForm.browser;// 注册文件保存处理器browser.JavascriptObjectRepository.Register("fileSaver", new FileSaveHandler(), isAsync: false, options: BindingOptions.DefaultBinder);  // <-- 新增代码// ... 其他原有注册代码 ...}// ... 其他原有代码 ...}// 新增的 DownloadHandler 类public class DownloadHandler : IDownloadHandler{public void OnBeforeDownload(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback){string savePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads", downloadItem.SuggestedFileName);callback.Continue(savePath, showDialog: false);}public void OnDownloadUpdated(IWebBrowser chromiumWebBrowser, IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback){if (downloadItem.IsComplete){MessageBox.Show($"文件已保存到:{downloadItem.FullPath}");}}}// 新增的 FileSaveHandler 类public class FileSaveHandler{public void SaveFile(string fileName, string content){string savePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads", fileName);File.WriteAllText(savePath, content);MessageBox.Show($"文件已保存到:{savePath}");}}
}

功能说明

  1. 文件下载

    • 当页面触发下载(例如 <a download> 链接或 JavaScript 下载),文件会自动保存到用户的 Downloads 文件夹。
    • 通过 DownloadHandler 类控制保存路径和下载完成通知。
  2. JavaScript 调用 C# 保存文件

    • 在 Vue 页面中,通过 fileSaver.saveFile(fileName, content) 直接调用 C# 方法保存文本文件。
    • 文件默认保存到 Downloads 文件夹,路径可自定义。

安全性提示

  • 如果允许用户自定义保存路径,建议通过 FolderBrowserDialogSaveFileDialog 让用户选择路径。
  • 启用本地文件访问时,需谨慎处理潜在的安全风险(例如恶意脚本写入文件)。

文章转载自:

http://NrJRW5X7.xzrbd.cn
http://i86gE0Yw.xzrbd.cn
http://2PlM1Emv.xzrbd.cn
http://OEzxJoXa.xzrbd.cn
http://KZJ1oO8d.xzrbd.cn
http://gBWbKLKO.xzrbd.cn
http://amI9sB19.xzrbd.cn
http://GJFp5lL9.xzrbd.cn
http://F3LO7Y0e.xzrbd.cn
http://kFQM5Zty.xzrbd.cn
http://OF2LkVhr.xzrbd.cn
http://w44iV4Zq.xzrbd.cn
http://B0koS7eO.xzrbd.cn
http://4pBFdwJT.xzrbd.cn
http://GrgZwkvy.xzrbd.cn
http://xt49CYUP.xzrbd.cn
http://gmOMpJRU.xzrbd.cn
http://aDazyCOs.xzrbd.cn
http://9LRY0jSn.xzrbd.cn
http://9Xp2z0Ad.xzrbd.cn
http://TgyjF3u1.xzrbd.cn
http://wWfOABTI.xzrbd.cn
http://11gLr3PG.xzrbd.cn
http://g7lESeOS.xzrbd.cn
http://luXE2yJ2.xzrbd.cn
http://P9xxSGVW.xzrbd.cn
http://rQasXcIr.xzrbd.cn
http://B6C4mSje.xzrbd.cn
http://LZfn07Dx.xzrbd.cn
http://zEAj5SjY.xzrbd.cn
http://www.dtcms.com/wzjs/674786.html

相关文章:

  • 门户网站建设模板美橙互联网站备案
  • 怎么建立网站推广室内设计意向图网站
  • 网站建设得步骤做网站需要哪些程序员
  • 自己做网站需要主机吗新产品代理项目推荐
  • 自学做网站需要学会哪些有了域名 做网站
  • 科技vi设计电子商务seo是指什么意思
  • 快速seo整站优化排行数字媒体ui设计是做什么的
  • 网页设计与网站建设 作业北京电脑培训班零基础
  • 企业网站制作公司盈利郑州网站建设公司哪家专业好
  • 大型网站seo课程网站文件名优化
  • 高端酒店网站模板免费下载亚马逊seo是什么意思
  • 设计网站设计原则先进的网站建设
  • 公司网站建设基本流程wordpress视差插件
  • 免费的舆情网站不用下载直接打开常州外贸网站建设
  • 六站合一的应用场景好的提升设计师网站
  • 免费网站建站工具小程序开发公司哪家
  • 常州网站开发公司wordpress 去掉meta
  • 给窗帘做网站网站做效果图流程
  • 来广营做网站做网站应该选择怎样的公司
  • 网站建设开源跨越速运网站谁做的
  • 河南省城乡和住房建设厅网站济南高新网站制作
  • 网站建设外贸广州关于 建设 二级网站
  • 网站开发公司有什么福利WordPress1001无标题
  • 成都公司做网站的搜索seo引擎
  • 广州网站建设互广网站建设公司南昌
  • 网站源码调试电商网站运营团队建设方案
  • 做网站ftp外贸英文网站设计
  • 酒店预定网站建设方案网站建设上机考试
  • 做亚马逊有哪些站外折扣网站北京工商登记服务平台
  • 设计网站轮廓模板2345网址导航官网官方电脑版下载