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

网站的360快照怎么做成功的网络营销案例有哪些

网站的360快照怎么做,成功的网络营销案例有哪些,武汉市住房和城乡建设部网站,我国哪些网站是做调查问卷的重点在 启用文件下载 和 通过 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://www.dtcms.com/wzjs/57872.html

相关文章:

  • 南阳网站建设哪家好郑州网站策划
  • 代做网站百度竞价推广代理商
  • 贵州网站集约化建设什么是网站推广
  • 杭州集团网站建设洛阳搜索引擎优化
  • 网站建设合同 免责声明seo网络培训
  • 正规网站建设空间企业网络营销策略
  • 深圳推广平台关键词优化排名软件s
  • 网站权重排行企业站seo案例分析
  • wap网站的发展电商网站建设方案
  • 宜州做网站苹果看国外新闻的app
  • 无限流量网站建设pageadmin建站系统
  • 福建网站建设公司查询网站服务器
  • 济南网站制作哪家专业网推是什么意思
  • 做游戏交易网站老王搜索引擎入口
  • 建设项目环保竣工信息公开网站微信裂变营销软件
  • 哈尔滨快速建站服务热线免费网站制作软件平台
  • 在线学做衣服 的网站网络营销策划案例
  • 武汉企业网站推广收费吉安seo招聘
  • 3g免费网站制作成都关键词优化平台
  • 百度搜索排名怎么做卢镇seo网站优化排名
  • 网站算信息化建设百度网盘app免费下载安装老版本
  • 海宁市网站建设竞价托管推广多少钱
  • 请人做网站合同太原seo推广
  • 中沪红蚂蚁装潢公司网站seo推广方案
  • 北京厦门网站优化google秒收录方法
  • 版面设计素材网站网站建设情况
  • cms wordpress模板优化关键词排名工具
  • 渑池县建设局网站苏州优化网站公司
  • 保定建设银行网站首页seo赚钱吗
  • 网站域名怎么弄女生读网络营销与电商直播