.net core 和.net framework上傳文件還是有一些區別的有很多註意的地方 .net framework 上傳文件用httppostedfilebase .net core 上傳文件用 IFormFile 下麵廢話不多說了,直接上代碼 控制器裡面寫 using System; usi ...
.net core 和.net framework上傳文件還是有一些區別的有很多註意的地方
.net framework 上傳文件用httppostedfilebase
.net core 上傳文件用 IFormFile
下麵廢話不多說了,直接上代碼
控制器裡面寫
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using CoreUpLoad.Models; using Microsoft.AspNetCore.Http; using System.IO; namespace CoreUpLoad.Controllers { public class HomeController : Controller { public IActionResult Index() { return View(); } [HttpPost] public IActionResult UpLoad(IFormFile file) { return View(); } } }
index 作為上傳的視圖頁面
UpLoad 作為接受上傳的方法
在這裡我沒有寫上傳文件存放的代碼,為了方便省事主要是後臺能接受到文件就好,自己寫方法保存,
下麵是視圖的代碼
@{ ViewData["Title"] = "Index"; } <h1>文件上傳</h1> <form enctype="multipart/form-data" asp-controller="Home" asp-action="UpLoad" method="post"> <div class="form-group"> <div> <p>選擇要上傳的文件</p> <input type="file" name="file" value="" multiple /> </div> </div> <div class="form-group"> <div class="col-md-12"> <input type="submit" value="上傳" /> </div> </div> </form>
視圖這裡要註意一下,
<input type="file" name="file" value="" multiple />
input的name屬性必須要和控制器里穿的參數名一樣,我這裡寫的都是file
multiple 屬性能夠接受多個文件上傳,要是上傳單個文件就不需要寫