asp.net api 如何拿多个文件保存在数据库
时间: 2024-03-02 09:49:18 浏览: 140
ASP.NET Web Api 2实现多文件打包并下载文件的实例
将多个文件保存到数据库的方法与保存单个文件的方法类似。您可以按照以下步骤操作:
1. 创建一个 API 动作方法,该方法接收多个文件作为参数。
2. 在动作方法中,使用 System.IO 命名空间下的类从服务器获取每个文件并将其读取到字节数组中。
3. 将每个字节数组转换为 base64 编码字符串。
4. 将每个 base64 编码字符串存储到数据库中。
下面是一个示例代码:
```
[HttpPost]
public IHttpActionResult UploadFiles()
{
var httpRequest = HttpContext.Current.Request;
if (httpRequest.Files.Count > 0)
{
List<string> base64Strings = new List<string>();
foreach (string file in httpRequest.Files)
{
var postedFile = httpRequest.Files[file];
byte[] fileData;
using (var binaryReader = new BinaryReader(postedFile.InputStream))
{
fileData = binaryReader.ReadBytes(postedFile.ContentLength);
}
var base64String = Convert.ToBase64String(fileData);
base64Strings.Add(base64String);
}
// Store the base64 strings to database using Entity Framework or other ORM tools.
return Ok();
}
return BadRequest();
}
```
上面的代码将每个文件的 base64 编码字符串保存到一个列表中,然后使用 ORM 工具将这些字符串存储到数据库中。注意,这里使用了一个 `foreach` 循环来遍历所有的文件,所以您可以在此处上传任意数量的文件。
阅读全文