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

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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 女黑人尺寸bbb | 百合女女师生play黄肉黄 | 日本韩国无矿砖码 | 成人中文字幕在线高清 | 成人毛片1024你懂的 | 美女脱了内裤打开腿让你桶爽 | 女人pp被扒开流水了 | 国产精品日本一区二区不卡视频 | 免费精品一区二区三区在线观看 | 青草草产国视频 | 欧美作爱福利免费观看视频 | 精品久久看 | 日本三级成人中文字幕乱码 | 古装全套 毛片 | 免费看国产精品久久久久 | 国产成人yy精品1024在线 | 美女翘臀跪床被打屁股作文 | 国产精品日本一区二区三区在线看 | 亚洲精选在线观看 | 免费看视频高清在线观看 | 男人天堂色 | 香港三级系列在线播放 | 国产免费久久精品 | 5g影院成人 | 国产精品手机视频一区二区 | 久久久精品免费免费直播 | 久久久无码精品亚洲欧美 | 3d动漫免费 | 手机看片日韩1024你懂的首页 | 91极品在线观看 | 91gmail国产 | 日本精品欧洲www | 免费观看韩剧网站在线观看 | 大伊香蕉精品视频一区 | 亚洲精品第五页中文字幕 | 暖暖的韩国免费观看 | 呜嗯啊野战h呻吟男男双性 污小说在线阅读 | 无人在线视频高清免费播放 | 国产一级一级片 | 亚洲一二三区久久五月天婷婷 | 男人叼女人的痛爽视频免费 |