本文摘自PHP中文网,作者Y2J,侵删。
本篇文章主要介绍了asp.net core mvc实现文件上传实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。工作用到文件上传的功能,在这个分享下 ~~
Controller:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | public class PictureController : Controller
{
private IHostingEnvironment hostingEnv;
public PictureController(IHostingEnvironment env)
{
this .hostingEnv = env;
}
public IActionResult Index()
{
return View();
}
public IActionResult UploadFiles()
{
return View();
}
[HttpPost]
public IActionResult UploadFiles(IList<IFormFile> files)
{
long size = 0;
foreach ( var file in files)
{
var filename = ContentDispositionHeaderValue
.Parse(file.ContentDisposition)
.FileName
.Trim( '"' );
filename = hostingEnv.WebRootPath + $ @"\{filename}" ;
size += file.Length;
using (FileStream fs = System.IO.File.Create(filename))
{
file.CopyTo(fs);
fs.Flush();
}
}
ViewBag.Message = $ "{files.Count} file(s) /{ size}bytes uploaded successfully!" ;
return View();
}
}
|
view:
1 2 3 4 5 6 7 | <form asp-action= "UploadFiles"
asp-controller= "Picture"
method= "post"
enctype= "multipart/form-data" >
<input type= "file" name= "files" multiple />
<input type= "submit" value= "Upload Selected Files" />
</form>
|
文件是上传到wwwroot目录文件下的,这我也看不太懂还在学习,欢迎大家交流~~
----------------------------------------------------------------------------------------------------------
下面是jquery ajax方式上传的
post方式的action的z参数没用 因为只有一个post方式的会404错误所以又加了一个get的action
Controller:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | public IActionResult UploadFilesAjax()
{
return View();
}
[HttpPost]
public IActionResult UploadFilesAjax(string z)
{
long size = 0;
var files = Request.Form.Files;
foreach ( var file in files)
{
var filename = ContentDispositionHeaderValue
.Parse(file.ContentDisposition)
.FileName
.Trim( '"' );
filename = @"C:\Users\lg.HL\Desktop " + $@" \{filename} ";
size += file.Length;
using (FileStream fs = System.IO.File.Create(filename))
{
file.CopyTo(fs);
fs.Flush();
}
}
string message = $" {files.Count} file(s) / { size}bytes uploaded successfully!";
return Json(message);
}
|
view
1 2 3 4 5 6 7 | <form method= "post" enctype= "multipart/form-data" >
<input type= "file" id= "files"
name= "files" multiple />
<input type= "button"
id= "upload"
value= "Upload Selected Files" />
</form>
|
jquery
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <script type= "text/javascript" >
$(document).ready( function () {
$( "#upload" ).click( function (evt) {
var fileUpload = $( "#files" ).get(0);
var files = fileUpload.files;
var data = new FormData();
for ( var i = 0; i < files.length ; i++) {
data.append(files[i].name, files[i]);
}
$.ajax({
type: "POST" ,
url: "/Picture/UploadFilesAjax" ,
contentType: false ,
processData: false ,
data: data,
success: function (message) {
alert(message);
},
error: function () {
alert( "There was error uploading files!" );
}
});
});
});
</script>
|
【相关推荐】
1. 特别推荐:“php程序员工具箱”V0.1版本推荐
2. ASP免费视频教程
3. 李炎恢ASP基础视频教程
以上就是asp.net完成文件上传的代码教程的详细内容!
相关阅读 >>
浅析asp.net页面缓存技术
分享asp.net学习笔记(13)razor 语法详解
vs2017 linux 上.net core调试步骤
.net core如何动态调用泛型解决方法
用signair和push.js完成消息推送代码详解
asp.net mvc路由配置(图文详解)
asp.net core实例教程之配置
asp.net通过remoting service上传文件的实例详解
asp.net利用反射实现给model类赋值的示例代码分析
[asp.net mvc 小牛之路]07 - url routing
更多相关阅读请进入《asp.net》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » asp.net完成文件上传的代码教程