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

推荐订阅源

WordPress大学
WordPress大学
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
小众软件
小众软件
量子位
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
博客园_首页
IT之家
IT之家
S
SegmentFault 最新的问题
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
爱范儿
爱范儿
月光博客
月光博客
有赞技术团队
有赞技术团队
H
Help Net Security
云风的 BLOG
云风的 BLOG

博客园 - 斌言

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