首页 > 其他分享 >.net文件转Base64

.net文件转Base64

时间:2024-11-06 09:33:41浏览次数:5  
标签:文件 fs string FileStream Base64 ex new net


public class FileUtil
{
    /// <summary>
    /// 文件转换成Base64字符串
    /// </summary>
    /// <param name="fileName">文件绝对路径</param>
    /// <returns></returns>
    public static String FileToBase64(string fileName)
    {
        string strRet = string.Empty;
        try
        {
            using (FileStream fs = new FileStream(fileName, FileMode.Open))
            {
                byte[] bt = new byte[fs.Length];
                fs.Read(bt, 0, bt.Length);
                strRet = Convert.ToBase64String(bt);
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
        return strRet;
    }

    /// <summary>
    /// 文件转Base64
    /// </summary>
    /// <param name="stream"></param>
    /// <param name="base64Str"></param>
    public static string FileToBase64(Stream stream)
    {
        using (BinaryReader binReader = new BinaryReader(stream))
        {
            byte[] bytes = binReader.ReadBytes(Convert.ToInt32(stream.Length));
            string base64Str = Convert.ToBase64String(bytes);
            return base64Str;
        }
    }

    /// <summary>
    /// Base64字符串转换成文件
    /// </summary>
    /// <param name="strInput">base64字符串</param>
    /// <param name="fileName">保存文件的绝对路径</param>
    /// <returns></returns>
    public static bool Base64ToFileAndSave(string strInput, string fileName)
    {
        bool bTrue = false;
        try
        {
            byte[] buffer = Convert.FromBase64String(strInput);
            using (FileStream fs = new FileStream(fileName, FileMode.CreateNew))
            {
                fs.Write(buffer, 0, buffer.Length);
                bTrue = true;
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
        return bTrue;
    }
}

 

标签:文件,fs,string,FileStream,Base64,ex,new,net
From: https://www.cnblogs.com/xsj1989/p/18529284

相关文章

  • .Net Core NPOI 导出多级表头
     想要导出这样的表格 数据准备格式   附上源码1usingNPOI.HSSF.UserModel;2usingNPOI.SS.UserModel;3usingNPOI.SS.Util;4usingSystem.Data;5usingSystem.Text.RegularExpressions;67namespaceTestConsoleApp8{9//......
  • 第20章 SpringBoot上传文件
    在SpringBoot中实现文件上传仍然使用SpringMVC的MultipartFile类来处理。我们创建一个“SpringBootUploadDemo”的工程然后我们修改编码格式以及Maven仓库地址,我们省略这个过程了。接下来,我们修改“pom.xml”文件,添加SpringBoot和Web依赖,如下所示<?xmlversion="1.0......
  • 一文看懂做大模型备案的关键点【评估测试题+备案源文件】
    文章目录(一)适用主体(二)语料安全(三)模型安全(四)安全措施要求(五)词库要求(六)安全评估要求(七)附录大模型备案材料源文件2024年3月1日,我国通过了《生成式人工智能服务安全基本要求》(以下简称《AIGC安全要求》),这是目前我国第一部有关AIGC服务安全性方面的技术性指导文件,对语料安全......
  • 在 Windows 中,diantz 工具可用于将现有的文件打包为 CAB 文件,类似于 makecab 命令。di
    diantz|MicrosoftLearn.cab文件(Cabinet文件)是一种压缩文件格式,用于存储多个文件或文件夹。它通常用于Windows操作系统中,作为安装包的一部分,尤其是在驱动程序、应用程序和系统文件的分发中。.cab文件通过压缩算法(如LZX或MSZIP)减小文件体积,便于存储和传输。它可以包......
  • 解决无法打开包括文件: “excpt.h”的问题
    可以看到这个报错来自于<Windows.h>  报错原因是未安装对应版本的VC++生成工具,我这里的版本是143,因为我钩了ATL和MFC,所以打开工程时并不会报错,但是在编译时会报错。 解决方法:打开VisualStudio安装程序,钩选对应版本的VC++生成工具即可。  注意:需要安装对应版本的......
  • 【HAProxy03】企业级反向代理HAProxy基础配置之子配置文件
    HAProxy基础配置官方文档:http://cbonte.github.io/haproxy-dconv/http://cbonte.github.io/haproxy-dconv/2.1/configuration.html使用子配置文件当业务众多时,将所有配置都放在一个配置文件中,会造成维护困难。可以考虑按业务分类,将配置信息拆分,放在不同的子配置文件中......
  • 基于Arcgis10.8+VS2019的ArcObjectsSDKNet安装
    基于Arcgis10.8+VS2019的ArcObjectsSDKNet安装首先Arcgis10.8和Arcgis10.8.1所需要的ArcObjectsSDKNet版本是不同的在使用10.8的ArcObjectsSDKNet在Arcgis10.8.1的基础上是安装不了的,会检测不到在安装Arcgis10.8的基础上,下载Arcgis10.8的ArcObjectsSDKNet,解压后进行安装连接......
  • .NET周刊【11月第1期 2024-11-03】
    国内文章.NET9AOT的突破-支持老旧Win7与XP环境https://www.cnblogs.com/lsq6/p/18519287.NET9引入了AOT支持,使得应用程序能够在编译时优化,以在老旧Windows系统上运行。这项技术通过静态编译,消除运行时的JIT编译,加速程序执行。尽管Windows7和XP已不再主流,它们......
  • 在 Windows 中,使用 命令提示符(CMD) 移动文件与在 图形用户界面(GUI) 中使用剪切和粘贴功
    在Windows中,使用命令提示符(CMD)移动文件与在图形用户界面(GUI)中使用剪切和粘贴功能的速度差异,实际上取决于几个因素。这里是对这两种方式的比较:1. CMD移动文件(使用 move 命令):基本操作:CMD中的 move 命令是将文件从一个位置移动到另一个位置。如果目标文件夹和源文件......