.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("无效文件"); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗