中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用Html5實現文件異步上傳的功能

發布時間:2020-07-10 09:23:46 來源:億速云 閱讀:231 作者:Leah 欄目:web開發

今天就跟大家聊聊有關如何利用Html5實現文件異步上傳的功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1 簡介

開發文件上傳功能從來不是一件愉快的事,異步上傳更是如此,使用過iframe和Flash的上傳方案,也都感覺十分的別扭。本文簡要簡紹利用Html5的FormData實現文件的異步上傳,還可以實現上傳進度條和文件大小驗證等。服務端使用springMVC的方案進行處理。

2 Html代碼

<form id="myForm">
    <input type="file" id="u_photo" name="u_photo" />
    <input type="button" id="submit-btn" value="上傳" />
</form>

3 JQuery上傳

$("#submit-btn").on('click', function() {
    $.ajax({
        url:"/test/upload",
        type:"post",
        data:new FormData($("#myForm").get(0)),
        //十分重要,不能省略
        cache: false,
        processData: false,
        contentType: false,
        success: function () {
            alert("上傳成功!");
        }
    });
});

4 JQuery文件大小驗證

文件大小的及相應行為的控制,需根據需要自行處理,本方法只是示例方法。

$('#u_photo').on('change', function() {
    var file = this.files[0];
    if (file.size > 1024*1000) {
        alert('文件最大1M!')
    }
});

5 JQuery進度條

在ajax方法中加入xhr即可控制上傳進度,進度條可以使用html5的progress也可使用其它的進度條。顯示及隱藏進度條需要自行處理,本方法只是簡單介紹了進度條的基本控制。

xhr: function() {
    var myXhr = $.ajaxSettings.xhr();
    if (myXhr.upload) {
        myXhr.upload.addEventListener('progress', function(e) {
            if (e.lengthComputable) {
                $('progress').attr({
                    value: e.loaded,
                    max: e.total,
                });
            }
        } , false);
    }
    return myXhr;
}

6 springMVC服務端

6.1 maven依賴

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.5</version>
</dependency>
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.2</version>
</dependency>

6.2 servlet-context.xml

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />

6.3 Controller

示例程序,并未給出文件驗證,存儲及處理的相應代碼。

@RequestMapping(value="/test/upload",method = RequestMethod.POST)
@ResponseBody
public String upload(@RequestParam("u_photo") MultipartFile u_photo) {
    System.out.println("u_photo="+u_photo.getSize());
    return "ok";
}

7 兼容性

IE 10+, Firefox 4.0+, Chrome 7+, Safari 5+, Opera 12+

看完上述內容,你們對如何利用Html5實現文件異步上傳的功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆阳市| 祁门县| 交城县| 湖北省| 上杭县| 滨海县| 时尚| 长垣县| 台北县| 吴川市| 乌恰县| 海伦市| 巧家县| 日喀则市| 武川县| 潼南县| 黎川县| 墨江| 克山县| 荃湾区| 天台县| 化州市| 沐川县| 徐水县| 百色市| 普定县| 龙泉市| 湟中县| 三都| 柳林县| 莱阳市| 新巴尔虎左旗| 泽普县| 大埔区| 木兰县| 呈贡县| 磴口县| 南投市| 霸州市| 通州市| 昭平县|