第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

[Asp.net mvc]jquery.form.js無(wú)刷新上傳

標(biāo)簽:
AngularJS

写在前面

最近在自己的网盘项目中想用ajax.beginform的方式做无刷新的操作,提交表单什么的都可以,但针对文件上传,就是个鸡肋。在网上查找了发现很多人都遇到了这个问题,大部分都推荐使用jquery.form.js的插件实现。

demo

首先通过nuget安装插件jquery.form.js

引入js文件

  <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="~/Scripts/jquery.form.min.js"></script>

前端调用的代码

复制代码

@{    ViewBag.Title = "Upload";}<form enctype="multipart/form-data" method="post" id="upload">    <input type="file" id="fileupload" name="Upload" />    @* button 而不是 submit *@    <input type="button" value="上传" id="btn"></form><script>    $("#btn").click(function () {        $("#upload").ajaxSubmit({            url: "../test/UploadFile",            type: "post",            success: function (data) {                console.log(data);            },            error: function (aa) {                console.log(aa);            }        });    });</script>

复制代码

可以对其设置刷新的区域

target: "#myheader",//刷新的区域clearForm: true, // clear all form fields after successful submitresetForm: true, // reset the form after successful submit

服务端代码

复制代码

    public class TestController : Controller    {        // GET: Test        public ActionResult Upload()        {            return View();        }        [HttpPost]        public JsonResult UploadFile()        {            HttpPostedFileBase file = Request.Files[0];            if (file != null)            {                string fileName = Path.GetFileName(file.FileName);                string fileExt = Path.GetExtension(file.FileName);                string fileNewName = Guid.NewGuid() + fileExt;                string fileSaveDir = Server.MapPath("~/upload");                if (!Directory.Exists(fileSaveDir))                {                    Directory.CreateDirectory(fileSaveDir);                }                file.SaveAs(Path.Combine(fileSaveDir, fileName));                return new JsonResult                {                    Data = new                    {                        _code = 200,                        _msg = "上传成功",                        _data = new                        {                            _url = "/upload/" + fileNewName,                            _oldName = fileName                        }                    }                    ,                    JsonRequestBehavior = JsonRequestBehavior.DenyGet                };            }            return new JsonResult { Data = new { _code = 200, _msg = "上传失败" }, JsonRequestBehavior = JsonRequestBehavior.DenyGet };        }    }

复制代码

测试

jquery.form上传文件内部是怎么实现无刷新的呢?

调试下js你会发现,内部是通过iframe实现的无刷新上传,如下图所示:


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消