在.NET Core Web API中,你可以将文件保存到数据库中,可以通过以下步骤实现:
1.创建一个用于存储文件数据的数据库表,通常包含以下列:文件名、文件类型、文件大小和文件数据(字节流)。
2.在你的.NET Core Web API应用程序中,使用实体框架或其他ORM(对象关系映射)库创建一个与该表对应的实体类。
3.创建一个控制器动作,该动作将接收要保存的文件,并将其保存到数据库中。可以使用以下代码将文件数据保存到数据库中:
[HttpPost("upload")] public async Task<ActionResult> Upload(IFormFile file)//上传文件 { var fileData = new byte[file.Length]; using (var ms = new MemoryStream()) { await file.CopyToAsync(ms); fileData = ms.ToArray(); } var myFile = new MyFile { FileName = file.FileName, FileType = file.ContentType, FileSize = file.Length, FileData = fileData }; //插入数据库方法 await _db.Insertable(myFile).ExecommandAsync();//示例是SqlSugar,也可以用EF CORE return Ok(); }
4.创建一个控制器动作,该动作将从数据库检索文件数据并将其作为响应返回给客户端。可以使用以下代码从数据库中检索文件数据:
[HttpGet("{id}")] public async Task<ActionResult> Download(int id)//下载文件 { //查询存储的文件信息 var myFile = await _db.Queryable<MyFiles>().FirstAsync(f => f.Id == id); if (myFile == null) { return NotFound(); } return File(myFile.FileData, myFile.FileType, myFile.FileName); }
这些代码片段假定你已经具有关于.NET Core Web API、实体框架和基本C#编程的知识,并且在你的应用程序中已经存在一个DbContext对象。
2016 © donet5.comApache Licence 2.0