BootStrap使用file-input插件上傳圖片的方法
最近在寫自己的個(gè)人網(wǎng)站 ,前端使用的bootstrap框架 ,做到上傳圖片功能的時(shí)候網(wǎng)上找到一個(gè)基于bootstrap的圖片上傳框架 file-input 插件, 這個(gè)插件做的非常符合我的審美觀,所以簡單記錄一下這個(gè)插件的使用方法
首先根據(jù)自己的項(xiàng)目路徑引入插件css和js文件
注意locale語言文件在fileinput.min.js文件之后引入
<!-- file input --> <link href="../../css/fileinput.min.css" rel="stylesheet"> <script src="../../js/fileinput.min.js"></script> <script src="../../js/locales/zh.js" type="text/javascript"></script>
然后是html代碼 因?yàn)槲也皇菍I(yè)前端 所以前端代碼寫的很爛 輕噴敲打
<!-- 模態(tài)框(Modal) --> <span style="white-space:pre"> </span><div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <span style="white-space:pre"> </span><div class="modal-dialog"> <span style="white-space:pre"> </span><div class="modal-content"> <span style="white-space:pre"> </span><div class="modal-header"> <span style="white-space:pre"> </span><button type="button" class="close" data-dismiss="modal" aria-hidden="true"> <span style="white-space:pre"> </span>× <span style="white-space:pre"> </span></button> <span style="white-space:pre"> </span><h3 class="modal-title" id="myModalLabel" align="center"> <span style="white-space:pre"> </span><b>新增曲譜信息</b> <span style="white-space:pre"> </span></h3> <span style="white-space:pre"> </span></div> <span style="white-space:pre"> </span><div class="modal-body"> <span style="white-space:pre"> </span><form id="addForm" class="bs-example bs-example-form" role="form" enctype="multipart/form-data"> <span style="white-space:pre"> </span> <div class="input-group" style="width: 566px;"> <span style="white-space:pre"> </span> <span class="input-group-addon">曲譜名稱</span> <span style="white-space:pre"> </span> <input type="text" id="scoreName" name="scoreName" class="form-control" placeholder=""> <span style="white-space:pre"> </span> </div> <span style="white-space:pre"> </span> <div class="input-group col-lg-5" style="display: inline-table; margin-top: 10px;"> <span style="white-space:pre"> </span> <span style="white-space:pre"> </span><span class="input-group-addon">曲譜類型</span> <span style="white-space:pre"> </span> <input type="text" id="type" name="type" class="form-control"> <span style="white-space:pre"> </span> <span style="white-space:pre"> </span> </div> <span style="white-space:pre"> </span> <span style="white-space:pre"> </span> <div class="input-group col-lg-5" style="display: inline-table; margin-top: 10px;margin-left: 90px;"> <span style="white-space:pre"> </span> <span style="white-space:pre"> </span><span class="input-group-addon">曲譜難度</span> <span style="white-space:pre"> </span> <input type="text" id="difficulty" name="difficulty" class="form-control"> <span style="white-space:pre"> </span> <span style="white-space:pre"> </span> </div> <span style="white-space:pre"> </span> <div class="input-group col-lg-5" style="margin-top: 10px;"> <span style="white-space:pre"> </span> <span class="input-group-addon">曲調(diào)</span> <span style="white-space:pre"> </span> <input type="text" id="tune" name="tune" class="form-control"> <span style="white-space:pre"> </span> </div> <span style="white-space:pre"> </span> <div class="input-group" style="width: 566px; margin-top: 10px;"> <span style="white-space:pre"> </span><input id="fileup" type="file" class="file"/> <span style="white-space:pre"> </span> </div> <span style="white-space:pre"> </span></form> <span style="white-space:pre"> </span></div> <span style="white-space:pre"> </span><div class="modal-footer"> <span style="white-space:pre"> </span><button type="button" class="btn btn-default" data-dismiss="modal">關(guān)閉 <span style="white-space:pre"> </span></button> <span style="white-space:pre"> </span><!-- <span style="white-space:pre"> </span><button type="button" class="btn btn-primary" onclick="addScores()"> <span style="white-space:pre"> </span>提交 <span style="white-space:pre"> </span></button> --> <span style="white-space:pre"> </span></div> <span style="white-space:pre"> </span></div><!-- /.modal-content --> <span style="white-space:pre"> </span></div><!-- /.modal --> <span style="white-space:pre"> </span></div>
然后是js代碼 初始化file-input
//初始化fileinput控件(第一次初始化) function initFileInput(ctrlName, uploadUrl) { var control = $('#' + ctrlName); control.fileinput({ language: 'zh', //設(shè)置語言 uploadUrl: uploadUrl, //上傳的地址 allowedFileExtensions : ['jpg', 'png','gif'],//接收的文件后綴 showUpload: true, //是否顯示上傳按鈕 showCaption: false,//是否顯示標(biāo)題 browseClass: "btn btn-primary", //按鈕樣式 previewFileIcon: "<i class='glyphicon glyphicon-king'></i>", uploadAsync: false, uploadExtraData:function (previewId, index) { var obj = {}; $('#addForm').find('input').each(function() { var id = $(this).attr('id'), val = $(this).val(); obj[id] = val; }); return obj; } }); } //初始化fileinput initFileInput("fileup", http://localhost:8080/web/guita/addGuitaInfo.action);
這段代碼是插件的核心了
upLoadUrl是后臺給的訪問路徑了
這里特別要注意的是這一段
uploadExtraData:function (previewId, index) { var obj = {}; $('#addForm').find('input').each(function() { var id = $(this).attr('id'), val = $(this).val(); obj[id] = val; }); return obj; }
這一段代碼uploadExtraData適用于傳額外參數(shù)是 可以用于提交form表單的其他input框數(shù)據(jù)
uploadExtraData:{ type:"type", tune:"tune" }
一般的靜態(tài)數(shù)據(jù)如上圖提交 后臺就可以直接接到了 但是這樣寫會得不到動態(tài)數(shù)據(jù) 數(shù)據(jù)只會在初始化的時(shí)候生成一次 之后不會改變
這個(gè)問題糾結(jié)了我不少時(shí)間 最后是在git上面看外國朋友們的討論 然后參考api才解決掉
這些寫好之后就可以看到效果圖了
樣式還是很不錯的 點(diǎn)擊上傳之后 整個(gè)from的數(shù)據(jù)都會提交到后臺
在網(wǎng)上找的很多該插件的應(yīng)用整合的都是php 我是用java寫的這里也上一下后臺接收的代碼 springmvc框架接收數(shù)據(jù)還是很方便的
這樣就完成了數(shù)據(jù)參數(shù)和圖片參數(shù)的傳遞了 然后后臺調(diào)用文件上傳的代碼存入圖片即可
該插件該有很多值得研究的用法 這里只是簡單的說一下使用方式并完成動態(tài)數(shù)據(jù)的傳輸 剛剛接觸這個(gè)插件的朋友們可以稍微做一下參考。
關(guān)于BootStrap使用file-input插件上傳圖片的方法的相關(guān)知識就給大家介紹這么多,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- Bootstrap Fileinput文件上傳組件用法詳解
- BootStrap Progressbar 實(shí)現(xiàn)大文件上傳的進(jìn)度條的實(shí)例代碼
- BootStrap智能表單實(shí)戰(zhàn)系列(九)表單圖片上傳的支持
- bootstrap-wysiwyg結(jié)合ajax實(shí)現(xiàn)圖片上傳實(shí)時(shí)刷新功能
- 基于BootStrap Metronic開發(fā)框架經(jīng)驗(yàn)小結(jié)【五】Bootstrap File Input文件上傳插件的用法詳解
- BootStrap文件上傳樣式超好看【持續(xù)更新】
- Bootstrap的fileinput插件實(shí)現(xiàn)多文件上傳的方法
相關(guān)文章
總結(jié)28個(gè)令人驚艷的JavaScript單行代碼
JavaScript作為一種強(qiáng)大而靈活的腳本語言,充滿了許多令人驚艷的特性,本文將帶你探索28個(gè)令人驚艷的JavaScript單行代碼,展示它們的神奇魅力,感興趣的同學(xué)跟著小編一起來看看吧2023-12-12一文詳解JavaScript中的replace()函數(shù)
replace方法的語法是stringObj.replace(rgExp, replaceText),其中stringObj是字符串(string),下面這篇文章主要給大家介紹了關(guān)于JavaScript中replace()函數(shù)的相關(guān)資料,需要的朋友可以參考下2023-01-01詳解JavaScript中l(wèi)ocalStorage使用要點(diǎn)
localStorage主要用來替代cookie,解決cookie(可參考cookie使用要點(diǎn))讀寫困難、容量有限的問題,對js localstorage的使用相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2016-01-01javascript中的Base64、UTF8編碼與解碼詳解
本文給大家介紹的是javascript中的Base64、UTF8編碼與解碼的函數(shù)源碼分享以及使用范例,十分實(shí)用,推薦給小伙伴們,希望大家能夠喜歡。2015-03-03Javascript中arguments用法實(shí)例分析
這篇文章主要介紹了Javascript中arguments用法,實(shí)例分析了javascript利用arguments實(shí)現(xiàn)模擬重載功能,需要的朋友可以參考下2015-06-06