.NET6 MVC 无刷新上传文件

1、前端部分(jquery插件自行导入)

复制代码
<div class="text-center">

    <form id="uploadForm" enctype="multipart/form-data">
        <input type="file" id="fileInput" name="file" />
        <button type="button" id="uploadBtn">上传</button>
    </form>

</div>

<script type="text/javascript">
    $(function () {
        thisPage.init();
    })


    var thisPage = {
        init: function () {
            this.events();
        },
        events: function () {
            $("#send").click(function () {
                thisPage.send();
            })

            $("#uploadBtn").click(function () {
                thisPage.upload();
            })
        },
        upload: function () {
            debugger
            var fileInput = $('#fileInput')[0];
            var file = fileInput.files[0];
            var formData = new FormData();
            formData.append('file', file);
            $.ajax({
                url: '/Home/Upload',
                type: 'POST',
                data: formData,
                cache: false,
                contentType: false, // 告诉jQuery不要去设置Content-Type请求头
                processData: false,  // 告诉jQuery不要去处理发送的数据
                success: function (data) {
                    console.log('Upload successful', data);
                },
                error: function (error) {
                    console.error('Upload failed', error);
                }
            });
        }
    }

</script>
复制代码

 

2、后端部分

复制代码
 [HttpPost]
 public async Task<IActionResult> Upload(IFormFile file)
 {
     if (file != null && file.Length > 0)
     {
         string uploadsDirec = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads");
         var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads", file.FileName);

         if (!Directory.Exists(uploadsDirec))
         {
             Directory.CreateDirectory(uploadsDirec);
         }
         using (var stream = new FileStream(filePath, FileMode.Create))
         {
             await file.CopyToAsync(stream);
         }
         return Ok("上传成功");
     }
     return BadRequest("无效文件");
 }
复制代码

 

posted @   斌言  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示