c#上传和下载base64文件

文件转base64字符串,文件可以为任意格式,代码如下:

    /// <summary>
    /// 文件转base64
    /// </summary>
    /// <returns>base64字符串</returns>
    public string FileToBase64String()
    {
        FileStream fsForRead = new FileStream("D:\\upFile\\aaaaaaaaaaa.png", FileMode.Open);//文件路径
        string base64Str = "";
        try
        {
            //读写指针移到距开头10个字节处
            fsForRead.Seek(0, SeekOrigin.Begin);
            byte[] bs = new byte[fsForRead.Length];
            int log = Convert.ToInt32(fsForRead.Length);
            //从文件中读取10个字节放到数组bs中
            fsForRead.Read(bs, 0, log);
            base64Str = Convert.ToBase64String(bs);
            return base64Str;
        }
        catch (Exception ex)
        {
            Console.Write(ex.Message);
            Console.ReadLine();
            return base64Str;
        }
        finally
        {
            fsForRead.Close();
        }
    }

base64字符串转文件,文件可以为任意格式,代码如下:

    /// <summary>
    /// Base64字符串转文件并保存
    /// </summary>
    /// <param name="base64String">base64字符串</param>
    /// <param name="fileName">保存的文件名</param>
    /// <returns>是否转换并保存成功</returns>
    public bool Base64StringToFile(string base64String, string fileName)
    {
        bool opResult = false;
        try
        {
            string strDate = DateTime.Now.ToString("yyyyMMdd");
            string fileFullPath = "C:\\WGQ_GROUP_DSMS.SysAdmin\\UpFile\\" + strDate;//文件保存路径
            if (!Directory.Exists(fileFullPath))
            {
                Directory.CreateDirectory(fileFullPath);
            }

            string strbase64 = base64String.Trim().Substring(base64String.IndexOf(",") + 1);   //将‘,’以前的多余字符串删除
            MemoryStream stream = new MemoryStream(Convert.FromBase64String(strbase64));
            FileStream fs = new FileStream(fileFullPath + "\\" + fileName, FileMode.OpenOrCreate, FileAccess.Write);
            byte[] b = stream.ToArray();
            fs.Write(b, 0, b.Length);
            fs.Close();

            opResult = true;
        }
        catch (Exception e)
        {
            logger.Error("异常类型: \t" + e.GetType());
            logger.Error("异常描述:\t" + e.Message);
            logger.Error("异常方法:\t" + e.TargetSite);
            logger.Error("异常堆栈:\t" + e.StackTrace);
        }
        return opResult;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱编程的雨雨

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值