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);
            }

        }
相关推荐
ch.ju3 分钟前
Java程序设计(第3版)第四章——类的组成
java·开发语言
我命由我123453 分钟前
PHP - PHP 基本随机数生成函数
开发语言·ide·后端·java-ee·php·intellij-idea·intellij idea
博.闻广见4 分钟前
AI_Python基础-4.标准库与IO
开发语言·python
吃好睡好便好5 分钟前
在Matlab中绘制质点运动轨迹图
开发语言·学习·算法·matlab·信息可视化
richard_yuu6 分钟前
C#开发全景概述:从零读懂C#的定位、优势与完整技术体系
开发语言·c#
Xin_ye100867 分钟前
C# 零基础到精通教程 - 第十二章:异常处理与调试——让程序更健壮
开发语言·c#
楼田莉子9 分钟前
C#学习之C#入门学习
开发语言·后端·学习·c#
我命由我1234510 分钟前
PHP - PHP 简易 Web 服务器、基础接口开发
服务器·开发语言·前端·php·intellij-idea·idea·intellij idea
Reload.11 分钟前
CZ航司,shopping JS逆向 acw_sc__v2
开发语言·javascript·python·网络爬虫·ecmascript
码界筑梦坊11 分钟前
130-基于Python的体育用品销售数据可视化分析系统
开发语言·python·信息可视化·flask·毕业设计