91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

H5文件異步上傳功能

發布時間:2020-05-14 17:21:03 來源:億速云 閱讀:95 作者:Leah 欄目:web開發

今天小編就為大家帶來一篇有關H5文件異步上傳功能的文章。小編覺得挺實用的,為此分享給大家做個參考。一起跟隨小編過來看看吧。

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+

關于H5文件異步上傳功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果喜歡這篇文章,不如把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

高唐县| 临夏市| 襄樊市| 凭祥市| 濮阳县| 泰来县| 永靖县| 团风县| 沙湾县| 郴州市| 台北市| 乌审旗| 汝州市| 海原县| 寿光市| 韩城市| 卢龙县| 文水县| 武平县| 浙江省| 新昌县| 勃利县| 崇仁县| 上栗县| 徐州市| 海城市| 大名县| 屯门区| 镇巴县| 建始县| 舒兰市| 巫山县| 铜陵市| 麟游县| 图们市| 上饶县| 常州市| 驻马店市| 寿阳县| 栾川县| 略阳县|