• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            js實(shí)現(xiàn)圖片上傳功能,深入理解圖片上傳原理

            更新時(shí)間:2023-12-07 17:57:16 閱讀: 評(píng)論:0

            2023年12月7日發(fā)(作者:總為浮云能蔽日)

            -

            js實(shí)現(xiàn)圖片上傳功能,深入理解圖片上傳原理

            js實(shí)現(xiàn)圖片上傳功能,深入理解圖片上傳原理

            js實(shí)現(xiàn)圖片上傳功能,實(shí)現(xiàn)的效果,先見(jiàn)圖來(lái)壓壓驚

            圖片上傳.gif

            原理:

            結(jié)構(gòu)部分:input標(biāo)簽

            之前你可能沒(méi)有注意到,input標(biāo)簽還有這個(gè)作用。

            屬性為file

            為允許選擇的文件格式(如果是圖片,則選擇彈框里不會(huì)出現(xiàn)其他格式的文件),

            ge回調(diào)函數(shù)的參數(shù)是我們所選擇的文件對(duì)象數(shù)據(jù)。

            如下:

            js部分:ajax請(qǐng)求

            通過(guò)實(shí)例化XMLHttpRequest對(duì)象,發(fā)起ajax請(qǐng)求,并監(jiān)聽(tīng)進(jìn)度和readyState值,獲取后端返回值,完成上傳。

            注意:

            1.該圖片上傳功能,可以將選擇過(guò)程和上傳過(guò)程分離,比如你選擇了一個(gè)圖片,可以預(yù)覽圖

            片,可以多次選擇和預(yù)覽,最終再確認(rèn)上傳!

            2.可以自行對(duì)代碼進(jìn)行修改,就可以適用于上傳視頻或者其他文件!

            JSX:

            import logo from './';

            import './';

            import { message,Modal,Icon,Progress } from 'antd';

            import uploadFunction from "./js/uploadFunction";

            class App extends Component {

            constructor(props){

            super(props);

            ={

            file:{},//保存文件對(duì)象內(nèi)容

            src:"",//保存圖片的url

            progress:0,//上傳進(jìn)度

            uploadUrl:"192.168.1.20:13003/fileDetail/upImg/1/3139",//上傳地址

            }

            }

            /*

            點(diǎn)擊上傳時(shí)觸發(fā)input的點(diǎn)擊事件

            */

            clickUploadBtn(){

            ();

            }

            /*

            * 選擇要上傳的圖片

            * */

            handleSelectFile(uploadUrl,e){

            const file = [0];

            if (!file) {

            return;

            }

            let src;

            // 匹配類型為image/開(kāi)頭的字符串

            if (==="image/png"||==="image/jpeg") {

            src = ObjectURL(file);

            }el{

            ("圖片上傳只支持JPG/PNG格式,請(qǐng)重新上傳!");

            return;

            }

            if (/1024/1024>5) {

            ("圖片上傳大小不要超過(guò)5MB,請(qǐng)重新上傳!");

            return;

            }

            te({

            file:file,

            src:src

            });

            pload(uploadUrl,file);

            }

            /*

            * 開(kāi)始上傳圖片

            * */

            startUpload(uploadUrl,file){

            let this_=this;

            /*

            * 調(diào)用上傳圖片的封裝方法

            * */

            ForImage(

            uploadUrl,

            file,

            function (progress,respon) {//回調(diào)函數(shù)處理進(jìn)度和后端返回值

            this_.tState({

            progress:progress

            });

            if (respon&& === 200) {

            s("上傳成功!");

            }el if (respon && !== 200) {

            ()

            }

            },

            m("access_token"));

            }

            render() {

            return (

            {?

            {?

            {ss===100?null:

            {}

            percent={ss}

            size="small"

            status="active"

            showInfo={fal}

            strokeColor="#31c060"

            strokeWidth={3}

            />

            }

            :

            className="uploadBox"

            onClick={(this)}

            >

            }

            ref="uploadInput"

            type='file'

            accept='image/*'

            style={{width:"100px",border:"none",visibility:"hidden"}}

            onChange={(this,Url)}

            />

            );

            }

            }

            export default App;

            上面引入的uploadFunction函數(shù)如下:

            function uploadForImage(url,data,callback,token) {//data是文件對(duì)象

            let xhr = new XMLHttpRequest();

            let form = new FormData();

            ('file', data);

            function uploadProgress(e) {

            if (Computable) {

            let progress = (( / ) * 100);

            callback(progress);

            }

            }

            /*

            * 監(jiān)聽(tīng)請(qǐng)求的進(jìn)度并在回調(diào)中傳入進(jìn)度參數(shù)*/

            ntListener('progress',uploadProgress, fal); // 第三個(gè)參數(shù)為uCapture?,是否使用事件捕獲/冒泡

            /*

            * 監(jiān)聽(tīng)readyState的變化,完成時(shí)回調(diào)后端返回的respon

            * */

            ntListener('readystatechange',function(e){

            (e);

            let respon=?():null;

            if (tate===4&&respon) {

            callback(100,respon);

            EventListener('progress', uploadProgress, fal)

            }

            },fal);

            ('POST', url, true); // 第三個(gè)參數(shù)為async?,異步/同步

            uestHeader("accessToken",token);

            (form);

            }

            export default {

            uploadForImage:uploadForImage//原生js開(kāi)始上傳并監(jiān)聽(tīng)上傳進(jìn)度

            };

            -

            js實(shí)現(xiàn)圖片上傳功能,深入理解圖片上傳原理

            本文發(fā)布于:2023-12-07 17:57:16,感謝您對(duì)本站的認(rèn)可!

            本文鏈接:http://m.newhan.cn/zhishi/a/1701943036114143.html

            版權(quán)聲明:本站內(nèi)容均來(lái)自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。

            本文word下載地址:js實(shí)現(xiàn)圖片上傳功能,深入理解圖片上傳原理.doc

            本文 PDF 下載地址:js實(shí)現(xiàn)圖片上傳功能,深入理解圖片上傳原理.pdf

            下一篇:返回列表
            標(biāo)簽:上傳   圖片   選擇   功能   回調(diào)   深入   對(duì)象
            留言與評(píng)論(共有 0 條評(píng)論)
               
            驗(yàn)證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實(shí)用文體寫作網(wǎng)旗下知識(shí)大全大全欄目是一個(gè)全百科類寶庫(kù)! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 四虎国产精品成人| AV无码不卡一区二区三区| 国产情侣激情在线对白| 久久国产热精品波多野结衣av| 国产无套中出学生姝| 欧美日韩视频综合一区无弹窗| 国产精品人伦一区二区三| 在线a级毛片无码免费真人| 18禁超污无遮挡无码网址| 看亚洲黄色不在线网占| 欧美亚洲国产精品久久蜜芽| 视频一区视频二区视频三| 久久精品国产精品亚洲综合| 一本一道av中文字幕无码| 忍着娇喘人妻被中出中文字幕| 男人av无码天堂| 老牛精品亚洲成av人片| 人妻在线中文字幕| 日韩av日韩av在线| 丰满少妇69激情啪啪无| 视频女同久久久一区二区三区| 久久精品成人无码观看不卡| 色综合激情丁香七月色综合| 免费无码黄网站在线观看| 国产精品久久久久久影视| 国产精品自线在线播放| 亚洲一区精品伊人久久| 亚洲中文字幕综合网在线| 97精品伊人久久大香线蕉APP| AV教师一区高清| 中文字幕日韩有码国产| 久久精品国产亚洲夜色av| 18禁网站免费无遮挡无码中文| 精品无码一区在线观看| 女人的天堂av在线播放| 日韩美女亚洲性一区二区| 99久久婷婷国产综合精品青草漫画| 黄色免费在线网址| 成人无码区在线观看| 精品无码一区二区三区电影| 好紧好滑好湿好爽免费视频|