最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

BootStrap Fileinput上傳插件使用實(shí)例代碼

 更新時(shí)間:2017年07月28日 11:06:21   作者:Mr-Wanter  
這篇文章主要介紹了BootStrap Fileinput上傳插件使用實(shí)例代碼,,通過(guò)引入js和css文件,具體實(shí)現(xiàn)代碼大家參考下本文

0、效果圖

1、引入js、css(建議css放在html頭部,js加載在html底部)

<link href="~/Content/fileinput.min.css" rel="external nofollow" rel="stylesheet" />
<script src="~/scripts/jquery-1.10.2.min.js"></script>
<script src="~/scripts/fileinput.js"></script>
<script src="~/scripts/zh.js"></script>

2、html

<input type="file" id="uploaddoc" name="file" class="file" multiple />//上傳按鈕 multiple為可多文件上傳 
<input type="hidden" id="Doc" name="doc" value="" />//保存文件路徑 

3、初始化

$("#uploaddoc").fileinput({ 
    language: 'zh', 
    uploadUrl: '/Form/upload',//后臺(tái)上傳方法 
    allowedFileExtensions: ['doc', 'docx'],//上傳文件擴(kuò)展名 
    shouUpload: false, 
    showRemove: false, 
    browseClass: 'btn btn-danger', 
    maxFileSize: 5000, 
    maxFileNum: 10, 
    allowedPreviewTypes: null, 
    previewFileIconSettings: { 
      'doc': '<i class="fa fa-file-word-o text-muted"></i>' 
    }, 
    previewFileExtSettings: { 
      'doc': function (ext) { 
        return ext.match(/(doc|docx)$/i); 
      } 
    } 
  });

4、回調(diào)方法

var List = new Array();//聲明保存上傳文件路徑數(shù)組對(duì)象 
  //上傳 - 刪除 
  $('#uploaddoc').on('filesuccessremove', function (event, key) { 
    var abort = true; 
    if (confirm("確定要?jiǎng)h除已上傳的文件嗎?")) { 
      abort = false; 
    } 
    var index1; 
    $.each(List, function (index, item) { 
      if (item.KeyID == key) {//默認(rèn)fileinput.js的key與KeyID不一致,需要改動(dòng)源碼,詳情見(jiàn)下文 
        index1 = index; 
        $.post("/Form/uploaddelete", { key: item.KeyID, path: item.path });//刪除以上傳到本地的文件 
      } 
    }); 
    List.splice(index1, 1); 
    var path = ""; 
    $.each(List, function (index, item) { 
      path += item.path; 
    }); 
    $("#Doc").val(path);//修改保存的文件路徑 
  }); 
  //取消上傳事件,左上角的取消按鈕 
  $('#uploaddoc').on('filecleared', function (event, files) { 
    $.each(List, function (index, item) { 
      $.post("/Form/uploaddelete", { key: "all", path: item.path }); 
    }); 
    List = new Array();//清空保存的文件路徑數(shù)組對(duì)象,這里是賦值給新的空對(duì)象,應(yīng)該可以?xún)?yōu)化為刪除以保存的所有值 
    $("#Doc").val(""); 
  }); 
 
  //上傳 - 成功 
  $("#uploaddoc").on("fileuploaded", function (event, data, previewId, index) { 
    var form = data.form, files = data.files, extra = data.extra, 
    response = data.response, reader = data.reader; 
    List.push({ path: response.path, KeyID: previewId }) 
    $("#Doc").val($("#Doc").val() + response.path); 
    //$("#Doc").val(List); 
  }); 

5、后臺(tái)上傳方法

//上傳方法  
public JsonResult Upload() 
    { 
      HttpPostedFileBase file = Request.Files["file"]; 
      if (file == null) 
      { 
        return Json(new { error = "上傳異常" }); 
      } 
      var ext = Path.GetExtension(file.FileName); 
      var filename = Path.GetFileNameWithoutExtension(file.FileName); 
      var serverfilenname = Guid.NewGuid().ToString("n") + "_" + filename + ext; 
      try 
      { 
        var path = "/File"; 
        var dic = string.Format("{0}/{1}/{2}/{3}", path, DateTime.Today.Year.ToString(), DateTime.Today.Month.ToString(), DateTime.Today.Day.ToString()); 
        if (!Directory.Exists(Server.MapPath(dic))) 
        { 
          Directory.CreateDirectory(Server.MapPath(dic)); 
        } 
        var webpath = string.Format("{0}/{1}", dic, serverfilenname); 
        var serverpath = Path.Combine(Server.MapPath(dic), serverfilenname); 
        file.SaveAs(serverpath); 
        return Json(new { 
          url = "/Form/uploaddelete",//定義要?jiǎng)h除的action,沒(méi)有用到可刪掉 
          key = serverfilenname, 
          path = webpath }); 
      } 
      catch (Exception ex) 
      { 
        return Json(new { error = "上傳異常" + ex }); 
      } 
    } 
//刪除本地文件方法 
public JsonResult UpLoadDelete() 
    { 
      try 
      { 
        var key = Request.Params["key"]; 
        var path = Request.Params["path"]; 
        if (string.IsNullOrEmpty(key) || string.IsNullOrEmpty(path)) 
        { 
          return Json(false, JsonRequestBehavior.DenyGet); 
        } 
        path = Server.MapPath(path); 
        if (System.IO.File.Exists(path)) 
        { 
          System.IO.File.Delete(path); 
          return Json(true, JsonRequestBehavior.DenyGet); 
        } 
        else 
        { 
          return Json(false, JsonRequestBehavior.DenyGet); 
        } 
      } 
      catch (Exception) 
      { 
        return Json(false, JsonRequestBehavior.DenyGet); 
      } 
    } 

6、缺點(diǎn)

尚未研究預(yù)覽功能

尚有優(yōu)化空間

7、說(shuō)明

代碼粘貼后可直接使用,后臺(tái)框架為.net mvc5,默認(rèn)母版頁(yè)有加載bootstrap樣式和js 如無(wú)樣式請(qǐng)?zhí)砑訉?duì)bootstrap的腳本

引用

插件api地址:http://plugins.krajee.com/file-input#events 

上網(wǎng)查了好多相關(guān)資料 都不完整,最后只有這個(gè)api可以看了,最后終于找到左上角關(guān)閉按鈕的回調(diào)事件

總結(jié)

以上所述是小編給大家介紹的BootStrap Fileinput上傳插件使用實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • javascript簡(jiǎn)單實(shí)現(xiàn)滑動(dòng)菜單效果的方法

    javascript簡(jiǎn)單實(shí)現(xiàn)滑動(dòng)菜單效果的方法

    這篇文章主要介紹了javascript簡(jiǎn)單實(shí)現(xiàn)滑動(dòng)菜單效果的方法,實(shí)例分析了javascript通過(guò)對(duì)頁(yè)面元素與相關(guān)屬性的操作實(shí)現(xiàn)滑動(dòng)菜單效果的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • JavaScript中的私有成員

    JavaScript中的私有成員

    JavaScript中的私有成員...
    2006-09-09
  • 微信小程序?qū)崿F(xiàn)吸頂盒效果

    微信小程序?qū)崿F(xiàn)吸頂盒效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)吸頂盒效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • JavaScript中創(chuàng)建對(duì)象的7種模式詳解

    JavaScript中創(chuàng)建對(duì)象的7種模式詳解

    本文主要介紹了JavaScript中創(chuàng)建對(duì)象的7種模式,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • 解決微信二次分享不顯示摘要和圖片的問(wèn)題

    解決微信二次分享不顯示摘要和圖片的問(wèn)題

    下面小編就為大家?guī)?lái)一篇解決微信二次分享不顯示摘要和圖片的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • js判斷文本框剩余可輸入字?jǐn)?shù)的方法

    js判斷文本框剩余可輸入字?jǐn)?shù)的方法

    這篇文章主要介紹了js判斷文本框剩余可輸入字?jǐn)?shù)的方法,可實(shí)現(xiàn)直觀顯示文本框可輸入字?jǐn)?shù)的功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-02-02
  • JavaScript實(shí)現(xiàn)跨瀏覽器的添加及刪除事件綁定函數(shù)實(shí)例

    JavaScript實(shí)現(xiàn)跨瀏覽器的添加及刪除事件綁定函數(shù)實(shí)例

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)跨瀏覽器的添加及刪除事件綁定函數(shù),采用純javascript實(shí)現(xiàn)jquery的bind及unbind添加與刪除事件綁定的技巧,具有很好的瀏覽器兼容性,需要的朋友可以參考下
    2015-08-08
  • js實(shí)現(xiàn)遮罩層彈出框的方法

    js實(shí)現(xiàn)遮罩層彈出框的方法

    這篇文章主要介紹了js實(shí)現(xiàn)遮罩層彈出框的方法,可實(shí)現(xiàn)對(duì)遮罩層彈出框的樣式定義、按鈕事件及相關(guān)功能的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • JS判斷是否長(zhǎng)按某一鍵的方法

    JS判斷是否長(zhǎng)按某一鍵的方法

    這篇文章主要介紹了JS判斷是否長(zhǎng)按某一鍵的方法,涉及JavaScript針對(duì)鍵盤(pán)按鍵的判斷及響應(yīng)操作技巧,需要的朋友可以參考下
    2016-03-03
  • 一文詳解axios四種傳參方式及后端接參

    一文詳解axios四種傳參方式及后端接參

    在開(kāi)發(fā)的過(guò)程中,我們會(huì)經(jīng)常使用到axios進(jìn)行數(shù)據(jù)的交互,這篇文章主要給大家介紹了關(guān)于axios四種傳參方式及后端接參的相關(guān)資料,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

光山县| 洛隆县| 永顺县| 高邮市| 泰顺县| 韩城市| 商水县| 棋牌| 兴义市| 固阳县| 宁波市| 临西县| 成武县| 新闻| 饶河县| 河间市| 永吉县| 肇州县| 浮山县| 德州市| 台北市| 尖扎县| 金平| 吉隆县| 府谷县| 绥中县| 弋阳县| 溆浦县| 金堂县| 万州区| 通河县| 宜良县| 扎鲁特旗| 翼城县| 百色市| 大姚县| 夏津县| 景宁| 闽侯县| 玉门市| 榆社县|