.NET CORE上传文件(AJAX形式)

这篇博客介绍了如何在.NET CORE应用中通过AJAX方式实现文件上传。后端控制器利用HttpRequest对象处理文件,创建文件保存路径并保存上传文件。前端使用FormData对象和jQuery的ajax方法发送POST请求,成功后返回文件的服务器路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

后台Action:

        [HttpPost]
        public string UploadFile()
        {
            if (Request.Form.Files.Count == 0)
                return GetFalseResult("未检测到文件");
            string path = hostingEnv.ContentRootPath + "\\wwwroot\\Files";
            if (!Directory.Exists(path))
                Directory.CreateDirectory(path);


            var file = Request.Form.Files[0];
            string fileExt = file.FileName.Split('.')[file.FileName.Split('.').Length - 1];
            string filename = Guid.NewGuid().ToString() + "." + fileExt;
            string fileFullName = path + "\\" + filename;
            using (FileStream fs = System.IO.File.Create(fileFullName))
            {
                file.CopyTo(fs);
                fs.Flush();
            }

            return "/Files/" + filename;
        }

前端js:

                var fileUpload = $("#uploadInput").get(0);
                var file = fileUpload.files[0];
                var data = new FormData();
                data.append(file.name, file);
                utils.showMask();
                $.ajax({
                    type: "POST",
                    url: "/api/控制器名/UploadFile",
                    //headers: {
                    //    token: window.localStorage.getItem("token")
                    //},
                    contentType: false,
                    processData: false,
                    data: data,
                    success: function (e) {
                        console.log(e);
                        //$uibModalInstance.close(e);
                    },
                    error: function () {
                        //utils.showError("上传失败");
                    },
                    complete: function () {
                       // utils.hideMask();
                    }
                });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值