Asp.Net Core实现文件上传

1. Asp.Net Core Mvc方式

public class UploadController : Controller
{
private IHostingEnvironment _hostingEnv;
public UploadController(IHostingEnvironment hostingEnv)
{
_hostingEnv = hostingEnv;
}
[HttpPost]
public IActionResult Index()
{
var file = Request.Form.Files;
if (file.Sum(f => f.Length) > )
{
foreach (var pic in file)
{
var picname = ContentDispositionHeaderValue
.Parse(pic.ContentDisposition)
.FileName
.Trim('"');
var exname = picname.Substring(picname.LastIndexOf("."));
var picfullname = DateTime.Now.ToString() + exname;
picname = _hostingEnv.WebRootPath + $@"\UploadImg\{picfullname}"; using (FileStream fs = System.IO.File.Create(picname))
{
pic.CopyTo(fs);
fs.Flush();
}
}
} return Content("ok");
}
}

2.Asp.Net Mvc方式

 public class UploadController : Controller
{
[HttpPost]
public ActionResult Index(HttpPostedFileBase picture)
{
if (picture.ContentLength > )
{
string filePath = Path.Combine(HttpContext.Server.MapPath("../UploadImg"),
Path.GetFileName(picture.FileName));
picture.SaveAs(filePath);
}
return Content("ok");
}
}

HTML页面

<form method="post" enctype = "multipart/form-data">
<div class="form-group">
<label class="control-label col-md-2">预览图</label>
<div class="col-md-4">
<div class="fileupload fileupload-new" data-provides="fileupload">
<div class="fileupload-new img-thumbnail" style="width: 200px; height: 150px;">
<img src="~/Images/AAAAAA&amp;text=no+image.png" />
</div>
<div class="fileupload-preview fileupload-exists img-thumbnail" style="width: 200px; max-height: 150px"></div>
<div>
<span class="btn btn-default btn-file"><span class="fileupload-new">选择图片</span><span class="fileupload-exists">更换</span><input type="file" name="pic" id="picture"></span><a class="btn btn-default fileupload-exists" data-dismiss="fileupload" href="#">清除</a>
</div>
</div>
</div>
</div>
</form>
上一篇:打印低头思故乡 java


下一篇:Android Studio开发-高效插件强烈推荐