C# 获取选择文件信息

简介: private bool GetDocuContent(out byte[] Content, out string FileName, out string ExtensionName) { long MaxLength = 10485760; //10M以内 Content = null; Exte
private bool GetDocuContent(out byte[] Content, out string FileName, out string ExtensionName)
        {
            long MaxLength = 10485760; //10M以内
            Content = null;
            ExtensionName = string.Empty;
            FileName = string.Empty;
            OpenFileDialog vsOpenFileDialog = new OpenFileDialog();
            vsOpenFileDialog.InitialDirectory = "d:\\";
            vsOpenFileDialog.Filter = "All files (*.*)|*.*";
            vsOpenFileDialog.FilterIndex = 0;
            vsOpenFileDialog.Multiselect = false;
            try
            {
                if (vsOpenFileDialog.ShowDialog() == DialogResult.OK)
                {
                    //Path.GetExtension方法:返回指定的路径字符串的扩展名
                    ExtensionName = Path.GetExtension(vsOpenFileDialog.FileName);
                    //Path.GetFileName方法:返回指定路径字符串的文件名和扩展名。
                    FileName = Path.GetFileName(vsOpenFileDialog.FileName);
                    FileInfo vsFileInfo = new FileInfo(vsOpenFileDialog.FileName);
                    if (vsFileInfo.Length > MaxLength)
                    {
                        MessageBox.Show("文件超长!");
                        return false;
                    }
                    //vsFileInfo.OpenRead Method:Creates a read-only FileStream.
                    FileStream fileStream = vsFileInfo.OpenRead();
                    if (fileStream.Length == 0)
                    {
                        MessageBox.Show("空文件!");
                        return false;
                    }
                    Content = new byte[fileStream.Length];
                    int Size = fileStream.Read(Content, 0, Convert.ToInt32(fileStream.Length));
                    fileStream.Close();
                    return true;
                }
                return false;
            }
            catch (Exception ex)
            {
                return false;
            }
        }

小注:

1、 C# Winform OpenFileDialog 控件

2、C# FileStream.Read Method

假如选择的文件1111.png,是跟踪内容显示:

ExtensionName = Path.GetExtension(vsOpenFileDialog.FileName)


FileName = Path.GetFileName(vsOpenFileDialog.FileName)


FileInfo vsFileInfo = new FileInfo(vsOpenFileDialog.FileName)


Content = new byte[fileStream.Length]


4、假如相对返回的byte[] Content加密的话,可以使用:Convert.ToBase64String(Content),该函数的返回值,依然是:byte[]类型的。




目录
相关文章
|
1月前
|
前端开发 Java C#
java/C#语言开发的医疗信息系统11套源码
java/C#语言开发的医疗信息系统11套源码
26 1
|
1月前
|
C#
C# DataTable不能通过已删除的行访问该行的信息
C# DataTable不能通过已删除的行访问该行的信息
|
1月前
|
安全 测试技术 C#
C#.手术麻醉系统源码 手麻系统如何与医院信息系统进行集成?
C#手术麻醉系统源码集成到医院信息系统涉及标准数据接口、患者信息同步、医嘱报告共享、实时监测数据传输及安全权限管理。通过这些步骤,确保信息的准确、及时和安全流动,提升医疗效率和服务质量。系统集成后需测试优化,以保证稳定性。图片展示了集成的不同方面。
16 0
|
2月前
|
XML 安全 JavaScript
B/S基于C#手术麻醉信息系统源码 手麻系统源码 有演示
手术室麻醉临床信息系统是应用于医院手术室、麻醉科室的计算机软件系统。该系统针对整个围术期,对病人进行全程跟踪与信息管理,自动集成病人HIS、LIS、RIS、PACS信息,采集监护等设备数据,根据质控要求自动生成电子单据, 系统提供智能手术排班、科室耗材管理、麻醉收费、主任管理、电子处方等业务功能,高度整合各科室应用需求,实现手术麻醉过程的无纸化和医疗流程的规范化,为手术室全面信息化提供了整体解决方案。
19 1
B/S基于C#手术麻醉信息系统源码 手麻系统源码 有演示
|
4月前
|
传感器 API 开发工具
Baumer工业相机堡盟工业相机如何通过BGAPISDK获取相机的各种信息如SN/ID等等(C#)
Baumer工业相机堡盟工业相机如何通过BGAPISDK获取相机的各种信息如SN/ID等等(C#)
33 1
|
4月前
|
运维 数据挖掘 C#
C#大型LIS检验信息系统项目源码
LIS系统能实现临床检验信息化,检验科信息管理自动化。其主要功能是将检验科的实验仪器传出的检验数据经数据分析后,自动生成打印报告,通过网络存储在数据库中,使医生能够通过医生工作站方便、及时地看到患者的检验结果。
35 0
|
9月前
|
存储 C# C++
Baumer工业相机堡盟相机做寄存器进行读写保存字符串信息(C++/C#)
Baumer工业相机堡盟相机做寄存器进行读写保存字符串信息(C++/C#)
81 0
|
5月前
|
数据管理 BI 项目管理
C#实验室检验科LIS信息系统源码
医院设备信息维护是针对医院实际存在的检验设备,每台接入LIS系统的设备单独对应一条设备信息。
36 1
|
5月前
|
开发框架 前端开发 NoSQL
【C#】医学实验室云LIS检验信息系统源码 采用B/S架构
【C#】医学实验室云LIS检验信息系统源码 采用B/S架构
67 0
|
5月前
|
前端开发 JavaScript BI
【C#】云LIS检验医学信息系统源码
【C#】云LIS检验医学信息系统源码
46 0