對(duì)于nodeJS的文件上傳养晋,我主要說(shuō)的是post的使用温兼。因?yàn)間et的傳輸數(shù)據(jù)太小栏账,不足以上傳文件帖族。我主要說(shuō)說(shuō)post的使用。
post上傳文件的兩種數(shù)據(jù):一是純數(shù)據(jù)(使用body-parser中間件)來(lái)解決就好了挡爵。
直接在所創(chuàng)建的服務(wù)上使用app.use(bodyParser.urlencode())竖般,然后在req.body上獲得數(shù)據(jù)就可以了。
二是:上傳文件(圖片茶鹃,文本涣雕,md文件,rar文件闭翩,等等)
這個(gè)時(shí)候我們使用的是multer中間件來(lái)達(dá)到我們的目的挣郭。首先我們來(lái)看看怎么使用:
第一步:創(chuàng)建表單上傳信息:紅色框框的內(nèi)容必須為這個(gè)(上傳的形式)
第二步:使用中間件multer,更多詳細(xì)信息可以查看npm官網(wǎng)的介紹
大家注意我上面所框的名字男杈,必須和表單中上傳的name一直丈屹,因?yàn)槲疫@里使用的是single模式调俘。如果大家不想寫(xiě)這個(gè)伶棒,也可以使用any模式。
對(duì)于multer的配置彩库,我配置了存放上傳文件的位置肤无。這些代碼重要的幾個(gè)地方就是對(duì)于文件名字拼接的使用。獲取上傳文件的后綴骇钦,然后拼接上我們上傳后文件的路徑名字宛渐,這樣就保證了我們上傳文件類(lèi)型的一致性。我來(lái)演示一下:
上傳前:
打印的數(shù)據(jù):框框代表的是新拼接的地址眯搭。
文件顯示的結(jié)果:可以看路徑窥翩,確實(shí)就是我所配置的地方:
好了,更多的是需要大家去實(shí)踐鳞仙。與大家共勉吧寇蚊。把代碼放在下面。大家把所有的需要安裝的自行安裝可以試試