惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
J
Java Code Geeks
IT之家
IT之家
Last Week in AI
Last Week in AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog RSS Feed
P
Proofpoint News Feed
博客园 - Franky
MongoDB | Blog
MongoDB | Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 【当耐特】
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ
B
Blog
Stack Overflow Blog
Stack Overflow Blog
Martin Fowler
Martin Fowler
博客园 - 聂微东
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
U
Unit 42
aimingoo的专栏
aimingoo的专栏

博客园 - 斌言

Claude Code + deepseek在Windows环境上的搭建教程 docker部署.NET6并挂载目录 unable to access 'https://github.com/langgenius/dify.git/': Failed to connect to github.com port 443 after 21111 ms: Could not connect to server docker快速搭建部署mqtt ubuntu安装smaba CentOS7.9安装Docker centos7.9 安装 openGauss 5.0.0 CentOS 7 yum安装MongoDB CentOS 7.4安装.NET6 react native SectionList组件实现多选 react-native-vector-icons 安装 apk文件查看指纹证书方法 server2008 安装mongodb supervisor 安装及基本使用 WinForms 嵌入 Web服务 ASP.NET Core http请求内容过大, IIS服务器 返回 Request Too Long 解决方案 ASP.NET Core MVC中调用Json()时默认使用Newtonsoft.Json返回数据 react native android9 axios network error .NET Core3.1升级.NET5 oracle连接报错
.NET6 MVC 无刷新上传文件
斌言 · 2025-02-13 · via 博客园 - 斌言

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("无效文件");
 }