一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net core實現文件上傳功能

asp.net core實現文件上傳功能

2020-01-15 13:37Savorboard ASP.NET教程

這篇文章主要為大家詳細介紹了asp.net core實現文件上傳功能,怎么做單文件和多文件上傳,感興趣的小伙伴們可以參考一下

本文實例為大家分享了單文件上傳、多文件上傳的功能,供大家參考,具體內容如下

單文件上傳
 上傳文件在Web應用程序中是一個常見的功能。在asp.net core中上傳文件并保存在服務器上,是很容易的。下面就來演示一下怎么樣在 ASP.NET Core項目中進行文件上傳。
 首先,創建一個 asp.net core 項目,然后在Controller文件件添加一個HomeController,然后在 Views 文件夾的 Home 文件夾里添加一個 New.cshtml 視圖文件。如下圖: 

asp.net core實現文件上傳功能

添加一個 UserViewModel.cs在 Model 文件夾中 , 代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class UserViewModel
{
  [Required]
  [Display(Name = "姓名")]
  public string Name { get; set; }
 
  [Required]
  [Display(Name = "身份證")]
  [RegularExpression(@"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$", ErrorMessage = "身份證號不合法")]
  public string IdNum { get; set; }
 
  public string IdCardImgName { get; set; }
 
  [Required]
  [Display(Name = "身份證附件")]
  [FileExtensions(Extensions = ".jpg,.png", ErrorMessage = "圖片格式錯誤")]
  public IFormFile IdCardImg { get; set; }
}

然后添加一個 New.cshtml 視圖文件在 Views 文件夾中:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@model UserViewModel
 
<form asp-controller="Home" role="form" asp-action="New" enctype="multipart/form-data" method="post">
  <div class="form-group">
    <label asp-for="Name"></label>
    <input type="text" class="form-control" asp-for="Name" />
  </div>
  <div class="form-group">
    <label asp-for="IdNum"></label>
    <input type="text" class="form-control" asp-for="IdNum" />
  </div>
  <div class="form-group">
    <label asp-for="IdCardImg"></label>
    <input type="file" asp-for="IdCardImg" />
    <p class="help-block">上傳。</p>
  </div>
  <button type="submit" class="btn btn-default">提交</button>
</form>

在 HomeController 中,添加頁面對應的 Action 方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[HttpPost]
public IActionResult New([FromServices]IHostingEnvironment env, [FromServices]AppDbContext dbContext, UserViewModel user) {
  var fileName = Path.Combine("upload", DateTime.Now.ToString("MMddHHmmss") + ".jpg");
  using (var stream = new FileStream(Path.Combine(env.WebRootPath, fileName), FileMode.CreateNew)) {
    user.IdCardImg.CopyTo(stream);
  }
 
  var users = dbContext.Set<User>();
  var dbUser = new User() {
    Name = user.Name,
    IdCardNum = user.IdNum,
    IdCardImgName = fileName
  };
  users.Add(dbUser);
  dbContext.SaveChanges();
 
  return RedirectToAction(nameof(Index));
}

運行程序,查看表單: 

asp.net core實現文件上傳功能

asp.net core實現文件上傳功能

多文件上傳

多文件上傳和單文件上傳類似,表單的 ViewModel 使用 ICollection<IFromFile> ,然后表單的<input type="file" asp-for="IdCardImg" mulpitle /> 添加上mulpitle就可以了(只支持 H5)。 

示例源碼
 注:示例數據存儲使用的 Sqlite ,Code First方式生成數據庫。
 示例代碼已經上傳至 github: https://github.com/yuleyule66/AspNetCoreFileUpload

本文地址:http://www.cnblogs.com/savorboard/p/5599563.html
 作者博客:Savorboard

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧产日产国产精品专区 | 国产成人性色视频 | 国产亚洲小视频 | 日本javaajax| 精品丰满人妻无套内射 | 欧美在线观看网址 | 操操小说 | 免费看一区二区三区 | 亚洲AV精品一区二区三区不卡 | eeuss18影院www国产| 亚洲国产成人精品 | zol中关村在线 | 精品综合久久久久久97超人 | 男人的天堂在线观看入口 | 免费在线视频一区 | 精品一区二区视频 | 免费日批| 亚洲日韩欧美一区二区在线 | 国产精品调教 | 朝鲜美女免费一级毛片 | 视频精品一区二区三区 | 全肉np巨肉一女np高h双龙 | 午夜影院和视费x看 | 国产探花在线观看 | 精品久久香蕉国产线看观看麻豆 | 亚洲国产精品自在自线观看 | 日本人成大片在线 | 精品网站一区二区三区网站 | 校园纯肉H教室第一次 | 男人捅女人漫画 | 国产福利自产拍在线观看 | 亚洲欧美日韩天堂在线观看 | 美女班主任让我爽了一夜视频 | 日本免费精品视频 | 免费看的毛片 | 国产欧美日韩免费一区二区 | 黑人巨荃大战乌克兰美女 | 精品久久香蕉国产线看观看麻豆 | 国产精品久久久久久久久久久久久久 | 大香人蕉免费视频75 | 国产第7页|