.net coreマルチファイルアップロードログ

5759 ワード

ファイルのアップロードだけでページを生成すればいいのですが、ここではファイルのアップロードのテストをします.Netcoreの依存注入とその他の構成情報、整理してから話しましょう.最近ずっとファイル全体にアップロードしています.
ほとんどのステップは私の前のファイルと同じように、バックグラウンドでいくつかの修正をしただけです.
前の記事の住所:https://www.cnblogs.com/ataoliu/p/13387464.html
コントローラ内のコード
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 Upload()
        {
            return View();
        }

        #region MyRegion


        [HttpPost]    //  post  , 
        public async Task UploadFiles(List files)
        {
           
            var filepath = Directory.GetCurrentDirectory() + "\\file";  // 


            foreach (var item in files)     // 
            {
                if (item.Length > 0)        //  0  
                {
                    var thispath = filepath + "\\" + item.FileName;     // 

                    if (System.IO.File.Exists(thispath) != true)        // , 
                    {
                        // 
                        using (var stream = new FileStream(thispath, FileMode.Create))      // 
                        {
                            try
                            {
                                await item.CopyToAsync(stream);     // 
                            }
                            catch (Exception)
                            {
                            }

                        }
                    }
                }
            }
            return View();
        }
    }
}

コントローラメソッド
UploadFiles(List files)
UploadFiles 
List , ,

フロントページの書き方
@{
    ViewData["Title"] = "Upload";
}

"post"enctype="multipart/form-data"asp-controller="Home"asp-action="UploadFiles">
class="form-group">
class="col-md-12">
アップロードするファイルを選択
"file"name="files"multiple/>
class="form-group">
class="col-md-12">
「submit」value=「アップロード」/>
multiple  , html 
form enctype="multipart/form-data" ,