jQuery-File-Upload 使用,jQuery-File-Upload上傳插件

来源:https://www.cnblogs.com/fanshuyao/archive/2020/01/10/12174802.html
-Advertisement-
Play Games

©Copyright 蕃薯耀 2020-01-10 https://www.cnblogs.com/fanshuyao/ 一、官網地址: https://github.com/blueimp/jQuery-File-Upload 二、使用文檔(參數說明) https://github.com/blu ...


================================

©Copyright 蕃薯耀 2020-01-10

https://www.cnblogs.com/fanshuyao/

 

一、官網地址:

https://github.com/blueimp/jQuery-File-Upload

 

二、使用文檔(參數說明)

https://github.com/blueimp/jQuery-File-Upload/wiki/Options

 

三、瀏覽器支持(官網說明)

  • Google Chrome
  • Apple Safari 4.0+
  • Mozilla Firefox 3.0+
  • Opera 11.0+
  • Microsoft Internet Explorer 6.0+

 

四、jQuery-File-Upload 入門使用

 

1、最簡單的使用方法:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>jQuery File Upload Example</title>
</head>
<body>
<input id="fileupload" type="file" name="files[]" data-url="server/php/" multiple>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/vendor/jquery.ui.widget.js"></script>
<script src="js/jquery.iframe-transport.js"></script>
<script src="js/jquery.fileupload.js"></script>
<script>
$(function () {
    $('#fileupload').fileupload({
        dataType: 'json',
        done: function (e, data) {
            $.each(data.result.files, function (index, file) {
                $('<p/>').text(file.name).appendTo(document.body);
            });
        }
    });
});
</script>
</body> 
</html>

 

如果不使用iframe,jquery.iframe-transport.js文件可以不引用。

 

2、自定義使用

不顯示文件選擇框,只顯示上傳按鈕

<a id="btnUploadMdbFile" href="javascript:;" class="plui-linkbutton" >上傳mdb文件</a> 

<div style="display: none;">        
    <input id="inputUploadMdbFile" type="file" name="mdbFiles" />
</div>

 

控制項初始化:

$(function(){
    
    $("#btnUploadMdbFile").click(function(){
        $("#inputUploadMdbFile").click();
    });
    
    //multiple 多選
    //input限制文件上傳可以使用(IE9+): accept="application/msaccess" accept="image/*"
    $("#inputUploadMdbFile").fileupload({
        url : "${pageContext.request.contextPath}/xxx/fileUploadAction.go?method=fileUpload",
        dataType: "json",
        //autoUpload: false,
        formData: {
            "dirPath" : "temp_dir/mdb/"
        },
        add: function(e, data){
            //var acceptFileTypes = /^(gif|jpe?g|png)$/i;
            var acceptFileTypes = /^mdb$/i;
            var files = data.originalFiles;
            if(files && files.length > 0){
                var isPass = true;
                for(var i=0; i<files.length; i++){
                    var name = files[i]["name"];
                    var lastIndex = name.lastIndexOf(".");
                    if(lastIndex < 0){
                        isPass = false;
                        break;
                    }else{
                        var fileType = name.substring(lastIndex + 1);
                        if(!acceptFileTypes.test(fileType)){
                            isPass = false;
                            break;
                        }
                    }
                }
                if(!isPass){
                    top.$.messager.alert("系統提示","只能上傳*.mdb文件","info"); 
                    return;
                }
                data.submit();
            }
        },
        done: function(e, data){
            //alert($.toJSON(data.result));
            if(data.result && data.result.files && data.result.files.length > 0){
                var file = data.result.files[0];
                if(file.suffix == ".mdb"){
                    dealMdbFile(file.absolutePath);
                }else{
                    top.$.messager.alert("系統提示","只能上傳*.mdb文件","info"); 
                }
            }
        }
    });
    
});

 

formData:可以傳遞自己的參數。

add: function(e, data){}:增加控制文件的類型限制,這個可以省略。

done: function(e, data){}:上傳成功後結果返回處理。

 

更多參數設置見:

https://github.com/blueimp/jQuery-File-Upload/wiki/Options

 

(如果你覺得文章對你有幫助,歡迎捐贈,^_^,謝謝!) 

================================

©Copyright 蕃薯耀 2020-01-10

https://www.cnblogs.com/fanshuyao/

 


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

-Advertisement-
Play Games
更多相關文章
  • 一、vue組件中的data為什麼是函數 為了保證組件的獨立性 和 可 復用性,data 是一個函數,組件實例化的時候這個函數將會被調用,返回一個對象,電腦會給這個對象分配一個記憶體地址,你實例化幾次,就分配幾個記憶體地址,他們的地址都不一樣,所以每個組件中的數據不會相互干擾,改變其中一個組件的狀態,其 ...
  • Vuex 一、基礎 1. Vuex 相當於 vue的數據倉庫 2. Vuex 是 vue 的狀態管理工具 3. Vuex中的 state 只能通過mutations 改變 4. Vuex很適合做購物車 什麼是Vuex? Vuex採用集中式存儲所有組件的數據狀態,並且中間狀態和store(後臺數據)是 ...
  • 1. 為什麼觸發不了了? <button type="button" onclick="a()">button</button> 全形字元 全形空格可能在輸入的時候無意識觸發, 在 js 里基本沒有影響, 但是在 HTML 標簽裡面屬性之間可能就難以發現, 導致全形空格後面的屬性失效. 雖然全形字元 ...
  • 舊的模板消息將在 2020 年 1 月 10 號全面下架,也就是今天,不過貌似現在還可以用!!!我已經改好了,只不過還沒有上線,準備堅持到最後一天! 0、訂閱消息 簡單介紹一下訂閱消息的特點: 用戶授權就能發送訂閱消息,一次授權可下發一次信息,長期訂閱消息模板授權一次理論上可以無限下發消息 與舊模板 ...
  • 簡單點說,組件是要復用的,在很多地方都會調用。 如果data不是函數,而是屬性,就又可能會發生多個地方的相同組件操作同一個Data屬性,導致數據混亂。 而如果是函數,因為組件data函數的返回值是{屬性:屬性名},所以每次返回都會在堆空間創建一個新的空間,所以各個組件不會發生操作同一個數據,防止數據 ...
  • 沙箱 沙箱: 環境, 黑盒, 在一個虛擬的環境中模擬真實世界, 做實驗, 實驗結果和真實世界的結果是一樣, 但是不會影響真實世界 全局變數 var num=10; console.log(num+10); //沙箱 小環境 (function () { var num = 10; console.l ...
  • 導航守衛 一、全局導航守衛 1. 全局導航守衛,把方法給 router,只要路由發生改變跳轉都會觸發這個函數 2. 每個路由 都有一個 meta 3. 全局導航守衛分兩種: 1. 全局前置導航守衛:路由還沒有跳轉之前 2. 全局後置導航守衛:路由跳轉之後 3. to 和 from 都是 router ...
  • 路由的緩存 路由緩存是 Vue組件優化的一個重要方法 為什麼實現路由緩存? 為了 組件間 相互切換不會重覆載入數據,影響用戶體驗,我們通常需要將組件的數組實現緩存,當我們點過來,在點的時候會再次發送 ajax,想讓它發送之後把數據存起來。 我們需要,當我點擊的時候直接出來 <keep-alive> ...
一周排行
    -Advertisement-
    Play Games
  • 1. 說明 /* Performs operations on System.String instances that contain file or directory path information. These operations are performed in a cross-pla ...
  • 視頻地址:【WebApi+Vue3從0到1搭建《許可權管理系統》系列視頻:搭建JWT系統鑒權-嗶哩嗶哩】 https://b23.tv/R6cOcDO qq群:801913255 一、在appsettings.json中設置鑒權屬性 /*jwt鑒權*/ "JwtSetting": { "Issuer" ...
  • 引言 集成測試可在包含應用支持基礎結構(如資料庫、文件系統和網路)的級別上確保應用組件功能正常。 ASP.NET Core 通過將單元測試框架與測試 Web 主機和記憶體中測試伺服器結合使用來支持集成測試。 簡介 集成測試與單元測試相比,能夠在更廣泛的級別上評估應用的組件,確認多個組件一起工作以生成預 ...
  • 在.NET Emit編程中,我們探討了運算操作指令的重要性和應用。這些指令包括各種數學運算、位操作和比較操作,能夠在動態生成的代碼中實現對數據的處理和操作。通過這些指令,開發人員可以靈活地進行算術運算、邏輯運算和比較操作,從而實現各種複雜的演算法和邏輯......本篇之後,將進入第七部分:實戰項目 ...
  • 前言 多表頭表格是一個常見的業務需求,然而WPF中卻沒有預設實現這個功能,得益於WPF強大的控制項模板設計,我們可以通過修改控制項模板的方式自己實現它。 一、需求分析 下圖為一個典型的統計表格,統計1-12月的數據。 此時我們有一個需求,需要將月份按季度劃分,以便能夠直觀地看到季度統計數據,以下為該需求 ...
  • 如何將 ASP.NET Core MVC 項目的視圖分離到另一個項目 在當下這個年代 SPA 已是主流,人們早已忘記了 MVC 以及 Razor 的故事。但是在某些場景下 SSR 還是有意想不到效果。比如某些靜態頁面,比如追求首屏載入速度的時候。最近在項目中回歸傳統效果還是不錯。 有的時候我們希望將 ...
  • System.AggregateException: 發生一個或多個錯誤。 > Microsoft.WebTools.Shared.Exceptions.WebToolsException: 生成失敗。檢查輸出視窗瞭解更多詳細信息。 內部異常堆棧跟蹤的結尾 > (內部異常 #0) Microsoft ...
  • 引言 在上一章節我們實戰了在Asp.Net Core中的項目實戰,這一章節講解一下如何測試Asp.Net Core的中間件。 TestServer 還記得我們在集成測試中提供的TestServer嗎? TestServer 是由 Microsoft.AspNetCore.TestHost 包提供的。 ...
  • 在發現結果為真的WHEN子句時,CASE表達式的真假值判斷會終止,剩餘的WHEN子句會被忽略: CASE WHEN col_1 IN ('a', 'b') THEN '第一' WHEN col_1 IN ('a') THEN '第二' ELSE '其他' END 註意: 統一各分支返回的數據類型. ...
  • 在C#編程世界中,語法的精妙之處往往體現在那些看似微小卻極具影響力的符號與結構之中。其中,“_ =” 這一組合突然出現還真不知道什麼意思。本文將深入剖析“_ =” 的含義、工作原理及其在實際編程中的廣泛應用,揭示其作為C#語法奇兵的重要角色。 一、下劃線 _:神秘的棄元符號 下劃線 _ 在C#中並非 ...