做一個(gè)簡(jiǎn)單的可預(yù)覽圖片上傳組件(Vue2.x)

Picture uploader - Vue2.X

將之前項(xiàng)目中使用到的一個(gè)文件上傳組件提取出來(lái),單獨(dú)做一個(gè)圖片上傳組件
(雖然現(xiàn)在有許多功能齊全的上傳組件,但是由于關(guān)乎程序大小和精簡(jiǎn)化,所以自己做一個(gè)簡(jiǎn)化的上傳組件)

源碼地址:

github地址

預(yù)覽圖

組件預(yù)覽圖

忽略圖片的內(nèi)容,因?yàn)槎际潜砬榘?/p>

How to start

  • 下載依賴項(xiàng)/install dependencies

npm install

  • 運(yùn)行服務(wù)/run server

npm run test

  • 程序默認(rèn)運(yùn)行在3000端口: localhost:3000

Description

在全局注冊(cè)或者局部注冊(cè)完成后使用組件:

<uploader :src="'/api/imgs'"></uploader>

(該組件源碼為components文件夾下面的uploader.vue文件, 其余文件是搭建了一個(gè)建議的框架和后端配置(為了測(cè)試上傳進(jìn)度))

  • Props:

    src - 后臺(tái)文件上傳的地址, 在Demo中就是 '/api/imgs'

  • 選取圖片:

    支持PC端多選,如果移植到移動(dòng)端根據(jù)各機(jī)型不同可能有差異

  • 圖片預(yù)覽:

    選取圖片后,腳本會(huì)將圖片轉(zhuǎn)成BASE64格式并傳給img標(biāo)簽顯示

  • 上傳:

    當(dāng)點(diǎn)擊上傳按鈕時(shí),將會(huì)遍歷所有選中的文件,并添加到自定義的FormData中, 代碼如下:

const formData = new FormData()
this.files.forEach((item) => {
    formData.append(item.name, item.file)
})

上傳的時(shí)候上傳進(jìn)度將會(huì)已百分比以及進(jìn)度條的形式顯示在上傳按鈕的右邊

License

MIT

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,781評(píng)論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,070評(píng)論 4 61
  • 我抱著帶土腥味的行李就這樣被關(guān)進(jìn)了302,旁邊那女的眼神迷離帶著好奇問我是不是溜冰兒來(lái)被抓了…… 那天15號(hào)下午面...
    0a525590aef9閱讀 543評(píng)論 0 0
  • 在微博上看到很棒的一段話 我的一個(gè)女閨蜜在圖書館看書,空調(diào)太涼了,她發(fā)短信讓男朋友給她送個(gè)外套,男孩說游戲呢,然后...
    猛風(fēng)中碰杯閱讀 421評(píng)論 0 0
  • 浮動(dòng)元素有什么特征?對(duì)父容器、其他浮動(dòng)元素、普通元素、文字分別有什么影響? 特征: 元素脫離正常文檔流,文字環(huán)繞圖...
    1w1ng閱讀 283評(píng)論 0 0

友情鏈接更多精彩內(nèi)容