ASP.NET Core 文件上传

本文详细介绍了一个使用ASP.NET Core实现文件上传功能的实际案例。通过一个具体的控制器代码示例,展示了如何处理多文件上传,包括获取文件大小、保存文件到指定路径及返回上传结果等关键步骤。同时提供了视图代码,用于展示文件上传表单。

进行保存操作的控制器代码

public class UploadFilesController : ControllerBase
    {
        public IActionResult Index()
        {
            return Ok();
        }

        [HttpPost("UploadFiles")]
        public async Task<IActionResult> Post(List<IFormFile> files)
        {
            long size = files.Sum(f => f.Length);

            // 临时文件的路径
            var filePath = Path.GetTempFileName();
           
            foreach (var formFile in files)
            {
                //取后缀名
                var fileN = formFile.FileName.ToString();
                var fileLastName = fileN.Substring(fileN.LastIndexOf(".") + 1,
                    (fileN.Length - fileN.LastIndexOf(".") - 1));

                filePath = @"Upload\"+"one."+fileLastName;//保存文件的路径
                if (formFile.Length > 0)
                {
                    //根据路径创建文件
                    using (var stream = new FileStream(filePath, FileMode.Create))
                    {
                        await formFile.CopyToAsync(stream);
                    }
                }
            }
            // process uploaded files
            // Don't rely on or trust the FileName property without validation.
            return Ok(new { count = files.Count, size, filePath });
        }

    }
View Code

视图代码

    <div class="text-center">
        <h1 class="display-4">Welcome</h1>
        <div class="row">
            <form method="post" enctype="multipart/form-data" asp-controller="UploadFiles" asp-action="Index">
                <div class="form-group">
                    <div class="col-md-10">
                        <p>Upload one or more files using this form:</p>
                        <input type="file" name="files" multiple>
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-md-10">
                        <input type="submit" value="Upload">
                    </div>
                </div>
            </form>
        </div>
    </div>
View Code

来自于官网Demo https://docs.microsoft.com/zh-cn/aspnet/core/mvc/models/file-uploads?view=aspnetcore-2.2

转载于:https://www.cnblogs.com/Uyde/p/10860563.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值