工作用到文件上传的功能,在这个分享下 ~~
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;
}
// GET: /<controller>/
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( '"' );
//这个hostingEnv.WebRootPath就是要存的地址可以改下
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>
|
欢迎大家交流~ 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/intro/p/6235396.html