相冊(cè)讀取+文件上傳(express+vue部分)

一输莺、目標(biāo)

  1. 完成單文件上傳毅往,并進(jìn)行復(fù)制到其他目錄
  2. 完成上傳文件的列表的顯示功能
  3. 使用Vue+Ajax完成圖片的前端頁(yè)面展示

二、參照

可以參照前面兩篇文章芬为,本是對(duì)功能的進(jìn)一步增強(qiáng)

  1. okhttp結(jié)合expressJS的文件上傳實(shí)例
  2. 相冊(cè)讀取+文件上傳(Android部分)

三萄金、服務(wù)器

  1. 文件結(jié)構(gòu):
/
  app.js
  -public/
       index.html
      +images/ 
  +uploads/
  +node_modules/
  package.json
  1. package.json的依賴部分
 "dependencies": {
    "express": "^4.17.1",
    "multer": "^1.4.2"
  }
  1. app.js的內(nèi)容
//app.js
const fs=require('fs')
const express=require('express')
const http=require('http')
//文件上傳中間件(指定上傳的臨時(shí)文件夾是/uploads)
const multer=require('multer')
let upload = multer({ dest: 'uploads/' })

let app=express();

const FILE_PATH="public/images/"

//HttpServer服務(wù)的中間件(public目錄下的index.html為首頁(yè))
app.use(express.static('public'))
//文件上傳的處理(avatar是上傳時(shí)的filedName)
app.post('/upload', upload.single('avatar'), function (req, res, next) {
    //req.body是普通表單域
    //req.file是文件域
    let msg={
        body:req.body,
        file:req.file
    }
    //將臨時(shí)文件上傳到/public/images中
    let output=fs.createWriteStream(FILE_PATH+req.file.originalname)
    let input=fs.createReadStream(req.file.path)
    input.pipe(output)
    res.json(msg)
})
//接收前端的請(qǐng)求蟀悦,返回上傳圖片的列表
app.get("/files",function (req,res) {
    fs.readdir('public/images',function (err,dir) {
        res.json(dir)
    })
})
//啟動(dòng)Express服務(wù)器
let server=http.createServer(app);
server.listen(8000,function () {
    console.log("start server at port 8000")
})
  1. /public/index.html的內(nèi)容:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
    <style type="text/css">
        li{
            list-style: none;
            display: inline-block;
        }
        li img{
            margin: 10px;
        }
    </style>
</head>
<body>
    <h1>您上傳的照片墻</h1>
    <div id="app">
        <ul>
            <li v-for="img of images">
                <img :src="'images/'+img" alt="" width="300px">
            </li>
        </ul>
    </div>

    <script>
        new Vue({
            el:'#app',
            data:{
                images:[]
            },
            created(){
                fetch("/files",{method:'GET'})
                    .then(res=>res.json())
                    .then(files=>{
                        this.images.push(...files)
                    })
            }
        })
    </script>
</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末媚朦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子日戈,更是在濱河造成了極大的恐慌询张,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浙炼,死亡現(xiàn)場(chǎng)離奇詭異份氧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)弯屈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門蜗帜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人资厉,你說我怎么就攤上這事厅缺。” “怎么了?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵湘捎,是天一觀的道長(zhǎng)诀豁。 經(jīng)常有香客問我,道長(zhǎng)窥妇,這世上最難降的妖魔是什么舷胜? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮活翩,結(jié)果婚禮上烹骨,老公的妹妹穿的比我還像新娘。我一直安慰自己纱新,他們只是感情好展氓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著脸爱,像睡著了一般遇汞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上簿废,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天空入,我揣著相機(jī)與錄音,去河邊找鬼族檬。 笑死歪赢,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的单料。 我是一名探鬼主播埋凯,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼扫尖!你這毒婦竟也來了白对?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤换怖,失蹤者是張志新(化名)和其女友劉穎甩恼,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沉颂,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡条摸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铸屉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钉蒲。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖彻坛,靈堂內(nèi)的尸體忽然破棺而出顷啼,到底是詐尸還是另有隱情帆赢,我是刑警寧澤,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布线梗,位于F島的核電站椰于,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏仪搔。R本人自食惡果不足惜瘾婿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望烤咧。 院中可真熱鬧偏陪,春花似錦、人聲如沸煮嫌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)昌阿。三九已至饥脑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間懦冰,已是汗流浹背灶轰。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留刷钢,地道東北人笋颤。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像内地,于是被迫代替她去往敵國(guó)和親伴澄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354