激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

服務(wù)器之家 - 編程語言 - ASP.NET教程 - asp.net core實(shí)現(xiàn)文件上傳功能

asp.net core實(shí)現(xiàn)文件上傳功能

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

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

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

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

asp.net core實(shí)現(xiàn)文件上傳功能

添加一個(gè) 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 = "身份證號(hào)不合法")]
  public string IdNum { get; set; }
 
  public string IdCardImgName { get; set; }
 
  [Required]
  [Display(Name = "身份證附件")]
  [FileExtensions(Extensions = ".jpg,.png", ErrorMessage = "圖片格式錯(cuò)誤")]
  public IFormFile IdCardImg { get; set; }
}

然后添加一個(gè) 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 中,添加頁面對(duì)應(yīng)的 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));
}

運(yùn)行程序,查看表單: 

asp.net core實(shí)現(xiàn)文件上傳功能

asp.net core實(shí)現(xiàn)文件上傳功能

多文件上傳

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

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

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

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91看电影 | 国产成人精品一区在线播放 | 亚洲免费资源 | 99re热视频这里只精品 | 国产日产精品久久久久快鸭 | 全黄性性激高免费视频 | 久久精品探花 | 欧美日韩亚洲在线 | 精品影视一区二区 | 黄色三级三级三级 | 69性欧美高清影院 | 亚洲小视频在线 | 色阁阁69婷婷 | 免费看一区二区三区 | 97中文| 欧美精品日日鲁夜夜添 | 蜜桃av网 | 国产毛片毛片 | 男人的天堂视频网站 | 亚洲第九十九页 | 久久99精品久久久久久园产越南 | 亚洲视频黄 | 免费黄色短视频网站 | 国产一区二区三区视频观看 | 毛片av网址 | 在线免费观看精品 | 成人一级黄色 | 亚洲第一成人久久网站 | 成人男男视频拍拍拍在线观看 | 一级毛片特黄 | 十级毛片 | 精品国产一区二区亚洲人成毛片 | 免费久久久久久 | 在线播放亚洲精品 | 黄色免费播放网站 | 国产瑟瑟视频 | 羞羞视频免费网站日本动漫 | 中文字幕欧美日韩 | 久久久国产精品视频 | 天堂在线中文资源 | 国产精品视频免费在线观看 |