1. 程式人生 > >Bootstrap file-input 外掛使用(大檔案上傳顯示進度條)

Bootstrap file-input 外掛使用(大檔案上傳顯示進度條)

Bootstrap file-input 是一個檔案上傳的外掛 ,使用之後會使檔案上傳變得特別簡單.
方法:

1.新增css和js支援
這裡寫圖片描述
fileinput.min.css和fileinput.min.js是必須的,其他根據情況新增
除了外掛需要的js和css,還需jquery和bootstrap相關的css和js

<input id="file"name="file" type="file" class="file-loading"  accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
>
/*載入上傳控制元件*/
    Initfileinput = function (uploadurl){
        $("#file").fileinput({
            //uploadUrl: "../fileinfo/save", // server upload action
            uploadUrl:uploadurl,
            required: true,
            showBrowse: true, 
            browseOnZoneClick: true,
            dropZoneEnabled: false
, allowedFileExtensions: ["xls", "xlsx"],//只能選擇xls,和xlsx格式的檔案提交 //maxFileSize: 0,//單位為kb,如果為0表示不限制檔案大小 /*不同檔案圖示配置*/ previewFileIconSettings: { 'docx': '<i class="fa fa-file-word-o text-primary" ></i>', 'xlsx': '<i class="fa fa-file-excel-o text-success"></i>'
, 'pptx': '<i class="fa fa-file-powerpoint-o text-danger"></i>', 'jpg': '<i class="fa fa-file-photo-o text-warning"></i>', 'pdf': '<i class="fa fa-file-pdf-o text-danger"></i>', 'zip': '<i class="fa fa-file-archive-o text-muted"></i>', 'doc': '<i class="fa fa-file-word-o text-primary"></i>', 'xls': '<i class="fa fa-file-excel-o text-success"></i>', 'ppt': '<i class="fa fa-file-powerpoint-o text-danger"></i>', 'pdf': '<i class="fa fa-file-pdf-o text-danger"></i>', 'zip': '<i class="fa fa-file-archive-o text-muted"></i>', 'htm': '<i class="fa fa-file-code-o text-info"></i>', 'txt': '<i class="fa fa-file-text-o text-info"></i>', 'mov': '<i class="fa fa-file-movie-o text-warning"></i>', 'mp3': '<i class="fa fa-file-audio-o text-warning"></i>', 'jpg': '<i class="fa fa-file-photo-o text-danger"></i>', 'gif': '<i class="fa fa-file-photo-o text-muted"></i>', 'png': '<i class="fa fa-file-photo-o text-primary"></i>' }, layoutTemplates:{ actionUpload:''}, /*上傳成功之後執行*/ fileuploaded:$("#file").on("fileuploaded", function (event, data, previewId, index) { console.log("Upload success"); }), /*上傳出錯誤處理*/ fileerror:$('#file').on('fileerror', function(event, data, msg) { console.log("Upload failed") }), }); }

在初始化的時候 傳入引數(你要訪問的url)載入

Initfileinput ()

外掛 預設ajax非同步請求,可以通過配置 uploadAsync:false 改為同步.

後臺處理 (MultipartFile處理檔案上傳)

@RequestMapping("/uploadfile")
    @ResponseBody
    public PageT<FileInfo> uploadFile(@RequestParam("file") MultipartFile file,HttpServletRequest request) throws Exception{
        PageT<FileInfo>  tpage = new PageT<FileInfo>();
        String path = request.getSession().getServletContext().getRealPath("upload/fileinfo");
        String fileName = new Date().getTime()+"-"+file.getOriginalFilename();
        File targetFile = new File(path, fileName);
        //資料夾不存在,則新建
        boolean result=saveFileContent(file, targetFile);
        if(result){
            FileInfo fileinfo = new FileInfo();
            fileinfo.setFilename(fileName);
            tpage.setData(fileinfo);
        }
        return tpage;
    }
    /**
     * 儲存excel到指定位置
     * @param file
     * @param targetFile
     * @return
     * @throws Exception
     */
    private boolean saveFileContent(MultipartFile file, File targetFile) throws Exception {
        if (file==null || targetFile==null) {
            return false;
        }
        if (!targetFile.exists()) {
            targetFile.mkdirs();
        }
        // 儲存
        try {
            file.transferTo(targetFile);
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        }
        return true;
    }

這時候返回json資料, js要接收要通過

data.response

這裡寫圖片描述

相關推薦

Bootstrap file-input 外掛使用(檔案顯示進度)

Bootstrap file-input 是一個檔案上傳的外掛 ,使用之後會使檔案上傳變得特別簡單. 方法: 1.新增css和js支援 fileinput.min.css和fileinput.min.js是必須的,其他根據情況新增 除了外掛需要的js

基於AJAX的檔案顯示進度實現

      基於Ajax的檔案上傳要實現的功能要求,要在使用者提交了上傳按鈕請求後,客戶端其頁面要顯示檔案上傳進度條。       其整個功能時序圖如圖所示。       簡單的說,要實現在客戶端顯示進度條,需要做的是:當客戶端提交上傳檔案請求後,伺服器在上傳檔案

bootstrap file input 實現多圖功能

slow customer dex event view 文件 all shee end 官方文檔 http://plugins.krajee.com/ demo http://plugins.krajee.com/file-input-ajax-demo/3

SpringMVC之檔案進度顯示

親測可用 1、mvc-config.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"   

純H5 AJAX檔案進度功能

上傳程式碼js部分 //包上傳 $('.up_apk').change(function () { var obj = $(this); var form_data = new FormData(); // 獲取檔案 var fi

檔案進度(fileupload控制元件)

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">之前的專案一直沒有涉及到達的檔案上傳,所以沒有用到進度條,這幾天不忙,所

Springboot 檔案(帶進度)

1. 相關依賴 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt

spring mvc檔案實現進度

    檔案上傳應該大部分人都接觸過,一般都是基於commons-fileupload元件來實現,SpringMVC的檔案上傳功能也是在commons-fileupload元件提供的功能上面做了一些包裝功能,使檔案上傳開發更容易方便。      看下上傳效果圖:  

servlet3.0之ajax檔案進度

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <h

使用jquery.form.js實現檔案進度前端程式碼

1、背景 ajax的表單提交只能提交data資料到後臺,沒法實現file檔案的上傳還有展示進度功能,這裡用到form.js的外掛來實現,搭配css樣式簡單易上手,而且高大上,推薦使用。 2、靜態頁搭建 html程式碼如下 <div clas

java struts2 多檔案進度

摘要   實現批量上傳,同時又進度顯示和上傳速度 1、struts.xml檔案配置 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN

jQuery監聽檔案實現進度效果

給XMLHttpRequest物件的upload屬性繫結onprogress方法監聽上傳過程 var xhr=new XMLHttpRequest(); xhr.upload.onprogress=function(e){} 因為jQuery預設使用的

js 文件異步 顯示進度 顯示速度 預覽文件

response null acc 文件的 pen 實現 accept https 提交 通常文件異步提交有幾個關鍵 1.支持拖拽放入文件。2.限制文件格式。3.預覽圖片文件。4.上傳進度,速度等,上傳途中取消上傳。5.數據與文件同時上傳 現在開始筆記: 需要一個最基礎的元

圖片顯示進度和預覽圖的前端實現之進度

很久沒有寫部落格了,是最近忙著找實現,另外工作也很忙,閒下來整理一下最近做的東西,覺得還是有點可寫的。 不知道有沒有朋友在工作中碰到這樣的需求,需要實現一個元件,能實現圖片上傳功能,同時,在圖片未上傳完成時,要顯示進度條和相應的圖片預覽圖。 如圖所示,上傳過

檔案解決方案-支援斷點續檔案外掛(轉)

資料夾結構支援 大檔案上傳控制元件6支援向伺服器上傳整個資料夾,並且在服務端儲存時與本地目錄結構完全保持一致,同時在資料庫中也保留資料夾的層級結構。開發人員可以藉助於資料庫中的層級資訊方便的管理檔案,管理人員也可以在伺服器中直接對上傳的資料夾資料進行管理。 大檔案傳輸 大檔案上傳控

檔案外掛webupload外掛

一、頁面html程式碼 <divid="bid_file_ms"class="uploader-list"></div> <divclass="btns"> <divid="bid_file"></div> <inputtype="butto

SourceTree --轉載 SourceTree檔案提示POST git-receive-pack (chunked)相關問題記錄

前兩天,更新了百度地圖的SDK,更新完了通過SourceTree上傳到Github 結果提示 :POST git-receive-pack (chunked),       在網上查詢之後瞭解到這個提示的原因是因為我們剛更新了百度的SDK,導致更新檔案太大了,超出了上傳限

PHP 檔案

php ini_set更改php.ini配置,通過它修改php.in達到php上傳檔案大小限制是不行的,除非修改.htaccess檔案 原文連結 https://www.cnblogs.com/caicaizi/p/6821860.html   PHP ini_set() 無效

前端元件WebUploader檔案與Python結合的實現

Python實現大檔案分片上傳 引言 想借著這篇文章簡要談談WebUploader大檔案上傳與Python結合的實現。 WebUploader是百度團隊對大檔案上傳的前端實現,而後端需要根據不同的語言自己實現。這裡我採用Python語言的Flask框架搭建後端,

C#實現檔案功能(二)---webuploader

                                        一、問題來源 近些時候,處理專案的時候發現如果使用者上傳大檔案的時候使用HtmlInputFile通過httppostfilebase 來實現上傳,如果檔案較小的話較小的話,上傳沒有問題(4M)