首页 > 数据库 >C#文件转Byte存储到SQLServer数据库

C#文件转Byte存储到SQLServer数据库

时间:2023-02-28 16:56:00浏览次数:34  
标签:文件 FileBytes C# dPath SQLServer fileStream Length var Byte

场景:临时不同的系统,相同的数据库,通用文件读取

1.数据库

字段采用:varbinary(max)类型

2.代码

注:这里获取文件是通过先将byte[]数据先存到当前服务器对应项目的文件夹中(加了个判断是否存在该文件(已生成的就跳过),文件采用两个名字,一个是存进去的时间戳名字,一个是上传的名字(防止重复名字覆盖))

//保存
using (var fileStream = file.OpenReadStream())
                {
                    byte[] bytes = new byte[file.Length];
                    fileStream.Read(bytes, 0, (int)file.Length);
                    m.FileBytes = bytes;
                }
//获取文件
if (m.Id > 0)
            {
                var dPath = $"{_dirPath}/{m.TypeId}/{CurrentUserInfo.ID}/";
                var dPathUrl = $"{_dirPath_url}/{m.TypeId}/{CurrentUserInfo.ID}/";
                var dPathUrlFile = dPathUrl + m.TimestampName;
                if (!Directory.Exists(dPath))
                    Directory.CreateDirectory(dPath);
                if (!System.IO.File.Exists(dPathUrlFile) && m.FileBytes != null)//判断文件是否存在
                {
                    string filePath = Path.Combine(dPath, m.TimestampName);
                    FileStream fileStream = new FileStream(filePath, FileMode.Create);
                    fileStream.Write(m.FileBytes, 0, m.FileBytes.Length);
                    fileStream.Close();
                }
                return dPathUrlFile;
            }
            else
                return null;

 

感谢:http://www.manongjc.com/detail/12-wmsagmljhzvjfek.html

 

标签:文件,FileBytes,C#,dPath,SQLServer,fileStream,Length,var,Byte
From: https://www.cnblogs.com/dzw159/p/17165045.html

相关文章

  • JavaScript Array(数组) 对象
    JavaScript Array(数组) 对象数组对象的作用是:使用单独的变量名来存储一系列的值。在线实例创建数组,为其赋值:实例varmycars=newArray();mycars[0]="Saab......
  • JavaScript Math(算数) 对象
    JavaScript Math(算数) 对象Math(算数)对象的作用是:执行常见的算数任务。在线实例round()如何使用round()。random()如何使用random()来返回0到1之间的随机数......
  • JavaScript Boolean(布尔) 对象
    JavaScript Boolean(布尔) 对象Boolean(布尔)对象用于将非布尔值转换为布尔值(true或者false)。在线实例检查布尔值检查布尔对象是true还是false。完整的Boolea......
  • JavaScript RegExp 对象
    JavaScript RegExp 对象RegExp:是正则表达式(regularexpression)的简写。完整RegExp对象参考手册请查看我们的 JavaScriptRegExp对象的参考手册,其中提供了可以与......
  • [洛谷]P5401 [CTS2019] 珍珠 题解
    [洛谷]P5401[CTS2019]珍珠题解题意概述有\(D\)种珍珠,每种有无限颗,现在等概率的从\(D\)种珍珠中抽\(n\)次珍珠,每次抽\(1\)个珍珠,记第\(i\)种珍珠最后一共抽......
  • NNbased AEC模型归纳
    near-endsignal:近端信号,最终需要的far-endsignal:远端信号,喇叭播放的,需要消除的目前nnAEC大致包括以下方案:端到端模型:一个模型承担所有功能;传统线性部分+nnNLP......
  • javascirpt this 用啊
    全局作用域:全局作用域中的this指向window。函数作用域:方法中的this指向调用它的对象;如果没有调用者就指向window。构造函数里:构造函数(或者ES6+的类)中的this指向新......
  • getServletContext爆红
    看下依赖删除<dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</ve......
  • 轮询、长轮询、长连接、websocket
    前言Web端即时通讯技术:即时通讯技术简单的说就是实现这样一种功能:服务器端可以即时地将数据的更新或变化反应到客户端,例如消息即时推送等功能都是通过这种技术实现的。但......
  • 【学习笔记】springmvc接收参数
    springmvc接收参数springmvc接收前端传来的数据,主要有三种情况:传来的参数名与处理方法的参数名一致、传来的参数名与处理方法的参数名不一致、传来的参数与已有的对象的属......