WPF将程序集里面嵌入的资源文件下载到本机磁盘中,将项目中的文件下载到桌面

首先需要把项目里面的文件设置为:嵌入的资源 ,鼠标右键属性里面设置,生成操作里面改为:嵌入的资源

csharp 复制代码
  

        /// <summary>
        /// 下载导入模板文件
        /// </summary>
        /// <param name="obj"></param>
        /// <exception cref="NotImplementedException"></exception>
        private void OnDownTemplate(object obj)
        {
            try
            {
                //桌面路径
                string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                // 保存到桌面的文件完整路径
                string saveFilePath = Path.Combine(desktopPath, $"职业病体检导入人员模板{DateTime.Now.ToString("yyyyMMdd")}.xlsx");

                //模板文件         
                string templateName = "职业病体检导入模板.xlsx";
                Assembly assembly = Assembly.GetExecutingAssembly();

                // 返回所有可用资源
                var resourceList = assembly.GetManifestResourceNames();
                if (resourceList == null)
                {
                    LogX.Tip("错误:没有可用资源");
                    return;
                }
                //找出模板文件资源名称
                string resourceName = resourceList.FirstOrDefault(g => g.Contains(templateName));
                if (string.IsNullOrWhiteSpace(resourceName))
                {
                    LogX.Tip($"错误:没有找到模板文件:{templateName}");
                    return;
                }

                using (Stream resourceStream = assembly.GetManifestResourceStream(resourceName))
                {
                    if (resourceStream == null)
                    {
                        LogX.Tip("未找到嵌入的Excel模板资源,请检查资源名称是否正确 ");
                        return;
                    }

                    //  将资源流写入桌面文件
                    using (FileStream fileStream = new FileStream(saveFilePath, FileMode.Create, FileAccess.Write))
                    {
                        resourceStream.CopyTo(fileStream);
                    }
                    //LogX.Tip($"模板文件已经存放到桌面,模板文件保存路径:"{saveFilePath}"");
                    MessageBox.Show($"模板文件已经存放到桌面,模板文件保存路径:"{saveFilePath}"");

                }
            }
            catch (Exception ex)
            {
                var ex2 = ex.InnerException ?? ex;
                LogX.Tip("发生未知错误:" + ex2.Message);
            }

        }
相关推荐
人道领域2 小时前
【零基础学java】(Map集合)
java·开发语言
杀死那个蝈坦2 小时前
JUC并发编程day1
java·开发语言
lly2024062 小时前
SQLite Alter 命令详解
开发语言
沃斯堡&蓝鸟2 小时前
DAY33 类的装饰器
开发语言·python
小白学大数据2 小时前
海量小说数据采集:Spark 爬虫系统设计
大数据·开发语言·爬虫·spark
伯明翰java2 小时前
Java接口
java·开发语言
Macbethad2 小时前
Arduino智能硬件开发技术报告
开发语言
云和数据.ChenGuang2 小时前
Java装箱与拆箱(面试核心解析)
java·开发语言·面试
Evand J2 小时前
【定位代码】复杂地磁环境下无人机自主导航增强技术研究——地磁匹配与多源数据融合方法,附matlab代码
开发语言·matlab·无人机