asp.net core mvc實(shí)現(xiàn)文件上傳實(shí)例
工作用到文件上傳的功能,在這個(gè)分享下 ~~
Controller:
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('"');
//這個(gè)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:
<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目錄文件下的,這我也看不太懂還在學(xué)習(xí),歡迎大家交流~~
----------------------------------------------------------------------------------------------------------
下面是jquery ajax方式上傳的
post方式的action的z參數(shù)沒(méi)用 因?yàn)橹挥幸粋€(gè)post方式的會(huì)404錯(cuò)誤所以又加了一個(gè)get的action
Controller:
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
<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
<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>
歡迎大家交流~ 以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- asp.net core實(shí)現(xiàn)文件上傳功能
- ASP.NET Core文件上傳與下載實(shí)例(多種上傳方式)
- 解決ASP.NET Core Mvc文件上傳限制問(wèn)題實(shí)例
- ASP.NET Core單文件和多文件上傳并保存到服務(wù)端的方法
- asp.net core集成kindeditor實(shí)現(xiàn)圖片上傳功能
- asp.net core分塊上傳文件示例
- ASP.NET Core實(shí)現(xiàn)文件上傳和下載
- ASP.NET Core實(shí)現(xiàn)多文件上傳
- ASP.NET Core上傳文件到minio的實(shí)現(xiàn)示例
相關(guān)文章
asp.net(C#) 生成隨機(jī)驗(yàn)證碼的代碼
asp.net(C#) 生成隨機(jī)驗(yàn)證碼的代碼...2007-04-04
Asp.Net Core 調(diào)用第三方Open API查詢物流數(shù)據(jù)的示例
這篇文章主要介紹了Asp.Net Core 調(diào)用第三方Open API查詢物流數(shù)據(jù)的示例,幫助大家更好的理解和學(xué)習(xí)使用Asp.Net Core,感興趣的朋友可以了解下2021-03-03
asp.net 在處理向該請(qǐng)求提供服務(wù)所需的配置文件時(shí)出錯(cuò)
遭遇:“說(shuō)明: 在處理向該請(qǐng)求提供服務(wù)所需的配置文件時(shí)出錯(cuò)。請(qǐng)檢查下面的特定錯(cuò)誤詳細(xì)信息并適當(dāng)?shù)匦薷呐渲梦募??!卞e(cuò)誤2010-03-03
MVC網(wǎng)站開(kāi)發(fā)之權(quán)限管理篇
這篇文章主要為大家詳細(xì)介紹了MVC網(wǎng)站開(kāi)發(fā)之權(quán)限管理的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-08-08
.NET使用YARP根據(jù)域名轉(zhuǎn)發(fā)實(shí)現(xiàn)反向代理
這篇文章介紹了.NET使用YARP根據(jù)域名轉(zhuǎn)發(fā)實(shí)現(xiàn)反向代理的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09

