文件上傳控制項bootstrap-fileinput的使用

来源:http://www.cnblogs.com/parker-yu/archive/2017/07/19/7207071.html
-Advertisement-
Play Games

1、下載地址:https://github.com/kartik-v/bootstrap-fileinput/ 打開壓縮包中的example/index.html查看示例。根據示例的代碼選擇需要的控制項代碼使用。 2、需要結合bootstrap使用,即頁面需要引入bootstrap相關js和css文件 ...


1、下載地址:https://github.com/kartik-v/bootstrap-fileinput/ 

      打開壓縮包中的example/index.html查看示例。根據示例的代碼選擇需要的控制項代碼使用。

2、需要結合bootstrap使用,即頁面需要引入bootstrap相關js和css文件

3、中文:插件預設是英文的,要改中文需要引入js/locales/zh.js文件

4、各js文件引用順序問題,最好jQuery-->bootstrap-->fileinput-->zh.js避免出現莫名其妙的問題

5、使用:

  html代碼:

<input id="f_upload" type="file" name="f_upload" data-language="zh" data-show-preview="false"/>

  說明:相關配置參數可以通過data-***的屬性配置,也可以通過初始化控制項時指定。

        data-language = "zh" ----指定控制項使用中文,對應初始化參數:language

     data-show-preview="false" ----不顯示預覽功能,創建簡單的文件上傳控制項,對應初始化參數:showpreview

      js代碼:

6、option選項說明:

屬性名

屬性類型

描述說明

預設值

language

String

多語言設置,使用時需提前引入\locales文件夾下對應的語言文件,

中文zh,引入語言文件必須放在fileinput.js之後

'en'

showCaption

Boolean

是否顯示被選文件的簡介

true

showBrowse

Boolean

是否顯示瀏覽按鈕

true

showPreview

Boolean

是否顯示預覽區域

true

showRemove

Boolean

是否顯示移除按鈕

true,

showUpload

Boolean

是否顯示上傳按鈕

true,

showCancel

Boolean

是否顯示取消按鈕

true,

showClose:

Boolean

是否顯示關閉按鈕

true

showUploadedThumbs

Boolean

 

true

browseOnZoneClick

Boolean

 

false

autoReplace

Boolean

是否自動替換當前圖片,設置為true時,再次選擇文件,

會將當前的文件替換掉。

false

generateFileId

Object

 

null

previewClass

String

添加預覽按鈕的類屬性

‘’

captionClass

String

 

‘’

frameClass

String

 

'krajee-default'

mainClass

String

 

'file-caption-main'

mainTemplate

Object

 

null

purifyHtml

Boolean

 

true

fileSizeGetter

Object

 

null

initialCaption

String

 

''

initialPreview

Array/Object

 

[]

initialPreviewDelimiter

String

 

'*$$*'

initialPreviewAsData

Boolean

 

false

initialPreviewFileType

String

 

'image'

initialPreviewConfig

Array/Object

 

[]

initialPreviewThumbTags

Array/Object

 

[]

previewThumbTags

Object

 

{}

initialPreviewShowDelete

Boolean

 

true

removeFromPreviewOnError

Boolean

 

false

deleteUrl

String

刪除圖片時的請求路徑

''

deleteExtraData

Object

刪除圖片時額外傳入的參數

{}

overwriteInitial

Boolean

 

true

previewZoomButtonIcons

Object

 

{

prev: '<i class="glyphicon glyphicon-triangle-left"></i>',

  next: '<i class="glyphicon glyphicon-triangle-right"></i>',

  toggleheader: '<i class="glyphicon glyphicon-resize-vertical"></i>',

  fullscreen: '<i class="glyphicon glyphicon-fullscreen"></i>',

  borderless: '<i class="glyphicon glyphicon-resize-full"></i>',

  close: '<i class="glyphicon glyphicon-remove"></i>'

},

previewZoomButtonClasses

Object

 

prev: 'btn btn-navigate',

  next: 'btn btn-navigate',

  toggleheader: 'btn btn-default btn-header-toggle',

  fullscreen: 'btn btn-default',

  borderless: 'btn btn-default',

  close: 'btn btn-default'

},

preferIconicPreview

Boolrean

 

false

preferIconicZoomPreview

Boolrean

 

false

allowedPreviewTypes

undefined

 

undefined

allowedPreviewMimeTypes

Object

 

null

allowedFileTypes

Object

接收的文件尾碼,如['jpg', 'gif', 'png'],不填將不限制上傳文件尾碼類型

null

allowedFileExtensions

Object

 

null

defaultPreviewContent

Object

 

null

customLayoutTags

Object

 

{}

customPreviewTags

Object

 

{}

previewFileIcon

String

 

'<i class="glyphicon glyphicon-file"></i>'

previewFileIconClass

String

 

'file-other-icon'

previewFileIconSettings

Object

 

{}

previewFileExtSettings

Object

 

{}

buttonLabelClass

String

 

'hidden-xs'

browseIcon

String

 

'<i class="glyphicon glyphicon-folder-open"></i>&nbsp;'

browseClass

String

 

'btn btn-primary'

removeIcon

String

 

'<i class="glyphicon glyphicon-trash"></i>'

removeClass

String

 

'btn btn-default'

cancelIcon

String

 

'<i class="glyphicon glyphicon-ban-circle"></i>'

cancelClass

String

 

'btn btn-default'

uploadIcon

String

 

'<i class="glyphicon glyphicon-upload"></i>'

uploadClass

String

 

'btn btn-default'

uploadUrl

String

上傳文件路徑

null

uploadAsync

boolean

是否為非同步上傳

true

uploadExtraData

 

上傳文件時額外傳遞的參數設置

{}

zoomModalHeight

number

 

480

minImageWidth

String

圖片的最小寬度

null

minImageHeight

String

圖片的最小高度

null

maxImageWidth

String

圖片的最大寬度

null

maxImageHeight

String

圖片的最大高度

null

resizeImage

boolean

 

false

resizePreference

String

 

'width'

resizeQuality

number

 

0.92

resizeDefaultImageType

String

 

'image/jpeg'

minFileSize

number

單位為kb,上傳文件的最小大小值

0

maxFileSize

number

單位為kb,如果為0表示不限制文件大小

0

resizeDefaultImageType

number

 

25600(25MB)

minFileCount

number

表示同時最小上傳的文件個數

0

maxFileCount

number

表示允許同時上傳的最大文件個數

0

validateInitialCount

boolean

 

false

msgValidationErrorClass

String

 

'text-danger'

msgValidationErrorIcon

String

 

'<i class="glyphicon glyphicon-exclamation-sign"></i> '

msgErrorClass

String

 

'file-error-message'

progressThumbClass

String

 

"progress-bar progress-bar-success progress-bar-striped active"

rogressClass

String

 

"progress-bar progress-bar-success progress-bar-striped active"

progressCompleteClass

String

 

"progress-bar progress-bar-success"

progressErrorClass

String

 

"progress-bar progress-bar-danger"

progressUploadThreshold

number

 

99

previewFileType

String

預覽文件類型,內置['image', 'html', 'text', 'video', 'audio', 'flash', 'object',‘other‘]等格式

'image'

elCaptionContainer

String

 

null

elCaptionText

String

設置標題欄提示信息

null

elPreviewContainer

String

 

null

elPreviewImage

String

 

null

elPreviewStatus

String

 

null

elErrorContainer

String

 

null

errorCloseButton

String

 

'<span class="close kv-error-close">&times;</span>'

slugCallback

String

 

null

dropZoneEnabled

boolean

是否顯示拖拽區域

true

dropZoneTitleClass

String

拖拽區域類屬性設置

'file-drop-zone-title'

fileActionSettings

Object

 

{}

otherActionButtons

String

 

''

textEncoding

String

編碼設置

'UTF-8'

ajaxSettings

Object

 

{}

ajaxDeleteSettings

Object

 

{}

showAjaxErrorDetails

boolean

 

true

7、Method說明:

方法名

參數

描述

fileerror

 

非同步上傳錯誤結果處理

$('#uploadfile').on('fileerror', function(event, data, msg) {

});

fileuploaded

 

非同步上傳成功結果處理

$("#uploadfile").on("fileuploaded", function (event, data, previewId, index) {

})

filebatchuploaderror

 

同步上傳錯誤結果處理

$('#uploadfile').on('filebatchuploaderror', function(event, data, msg) {

});

filebatchuploadsuccess

 

同步上傳成功結果處理

$('#uploadfile').on('filepreupload', function(event, data, previewId, index) {    

});

filebatchselected

 

選擇文件後處理事件

$("#fileinput").on("filebatchselected", function(event, files) {

});

upload

 

文件上傳方法

$("#fileinput").fileinput("upload");

fileuploaded

 

上傳成功後處理方法

$("#fileinput").on("fileuploaded", function(event, data, previewId, index) {

});

filereset

 

 

fileclear

 

點擊瀏覽框右上角X 清空文件前響應事件

$("#fileinput").on("fileclear",function(event, data, msg){

});

filecleared

 

點擊瀏覽框右上角X 清空文件後響應事件

$("#fileinput").on("filecleared",function(event, data, msg){

});

fileimageuploaded

 

在預覽框中圖片已經完全載入完畢後回調的事件

 

8、常見問題與錯誤

   引入所需文件後頁面刷新查看樣式奇怪,瀏覽器提示錯誤等,可能是因為js、css文件的引用順序問題,zh.js需要在fileinput.js後面引入。bootstrap最好在fileinput前引入。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一.概述:1.數組是無類型的:同一數組的各元素可以是任意類型,也可以是數組或對象;2.索引從0開始,最大到2^32-2=4294967294;最多容納4294967295個元素;3.數組是動態的,根據需要自動增減;創建數組時無需聲明大小,且在大小變化時無需重新分配空間;4.數組可以是索引連續的(非稀... ...
  • DIV+CSS佈局中主要CSS屬性介紹: Float: Float屬性是DIV+CSS佈局中最基本也是最常用的屬性,用於實現多列功能,我們知道<div>標簽預設一行只能顯示一個,而使用Float屬性可以實現一行顯示多個div的功能,最直接解釋方法就是能實現表格佈局的多列功能。 Margin: Mar ...
  • AJAX 概述 不使用 AJAX 的網頁,如果要更新內容,需要重載整個頁面。 AJAX ( Asynchronous Javascript And XML ,非同步 Javascript 和 XML)用於非同步通訊,通過在後臺與伺服器進行少量的數據交換,在不重載整個網頁的情況下,對網頁局部實現非同步刷新。 ...
  • PM2工作原理 最近在玩一個游戲,《地平線:黎明時分》,最終Boss是一名叫黑底斯的人,所謂為人,也許不對,黑底斯是一段強大的毀滅進程,破壞了蓋婭主進程,從而引發的整個大陸機械獸劣化故事。 為什麼要講這麼一段呢,是希望大家可以更好地理解pm2的原理,要理解pm2就要理解god和santan的關係,g ...
  • 前面的話 本文將詳細介紹MongoDB安全相關的內容 概述 MongoDB安全主要包括以下4個方面 1、物理隔離 系統不論設計的多麼完善,在實施過程中,總會存在一些漏洞。如果能夠把不安全的使用方與MongoDB資料庫做物理上的隔離,即通過任何手段都不能連接到資料庫,這是最安全的防護。但,通常這是不現 ...
  • 寫在前面的話: 最近一波H5廣告火爆整個互聯網圈,身為圈內人,我們怎能 不! 知!道! :( 噓!真不知道的也繼續看下去,有收穫 ↓ ) So,搞懂這個並不難。 這篇文章將帶你從頭到尾瞭解H5廣告的實現。 本文主要講一下幾個關鍵點 一、視頻內聯播放。 -- 想要營造一種文字與視頻混排的現象,視頻不要 ...
  • Proxy var engineer = { name: 'Joe Sixpack', salary: 50 }; var interceptor = { set: function (receiver, property, value) { console.log(property, 'is ch ...
  • (1)檢查node版本 在安裝vue的環境之前,安裝NodeJS環境是必須的。可以使用node -v指令檢查,需要保證安裝了4.0版本以上的nodeJS環境。 當然,沒有安裝的話,去Node.js的官網下載一下,各種下一步,傻瓜式安裝就好,非常方便。 tips:這裡說一下我自己踩過的一個坑,我最開始 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...