最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node+express+axios實(shí)現(xiàn)單文件上傳功能

 更新時(shí)間:2022年08月15日 16:27:18   作者:易de  
這篇文章主要為大家詳細(xì)介紹了node+express+axios實(shí)現(xiàn)單文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了node+express+axios實(shí)現(xiàn)單文件上傳的具體代碼,供大家參考,具體內(nèi)容如下

1.安裝依賴

在node服務(wù)端安裝依賴

cnpm i multer --save

2.后端代碼

var express = require('express');
var router = express.Router();

//上傳商品圖片
var multer = require('multer');
var fs = require('fs');
var path = require('path');

?//使用表單上傳
var upload = multer({
? storage: multer.diskStorage({
? ? //設(shè)置文件存儲(chǔ)位置
? ? ?destination: function(req, file, cb) {
? ? ? ?let date = new Date();
? ? ? ?let year = date.getFullYear();
? ? ? ?let month = (date.getMonth() + 1).toString().padStart(2, '0');
? ? ? ?let day = date.getDate();
? ? ? ?//直接從根目錄開始找
? ? ? ?let dir = "./public/uploads/" + year + month + day;
?
? ? ? ?//判斷目錄是否存在,沒有則創(chuàng)建
? ? ? ?if (!fs.existsSync(dir)) {
? ? ? ? ?fs.mkdirSync(dir, {
? ? ? ? ? ?recursive: true
? ? ? ? ?});
? ? ? ?}
?
? ? ? ?//dir就是上傳文件存放的目錄
? ? ? ?cb(null, dir);
? ? ?},
? ? ?//設(shè)置文件名稱
? ? ?filename: function(req, file, cb) {
? ? ? ?let fileName = file.fieldname + '-' + Date.now() + path.extname(file.originalname);
? ? ? ?//fileName就是上傳文件的文件名
? ? ? ?cb(null, fileName);
? ? ?}
? })
})

? ? //接口地址為:admin/upload/img ? 根據(jù)自己的路由配置來寫
?router.post('/img',upload.single("imgFile") ,function(req,res,next){
? ? console.log(req);
? ? res.json({
? ? ? file: req.file
? ? })
?})


module.exports = router;

3.前端代碼

<template>
? <div>
? ? ? ? <div>
? ? ? ? ? ? <img :src="url" width="100px">
? ? ? ? ? ? ?<!-- input type屬性為file,限制上傳為文件 -->
? ? ? ? ? ? <input type="file" @change="uploadImg($event)">
? ? ? ? </div>
? </div>
</template>

<script>
export default {
? ? data(){
? ? ? ? return{
? ? ? ? ? ? url : ''
? ? ? ? }
? ? },
? ? methods:{
? ? ? ? uploadImg(e){
? ? ? ? ? ? let file = e.target.files[0];
? ? ? ? ? ? // console.log(file);
? ? ? ? ? ? //限制文件大小
? ? ? ? ? ? // if(file.size > 10240){
? ? ? ? ? ? // ? ? alert('文件大小過大');
? ? ? ? ? ? // }

? ? ? ? ? ? //限制文件類型
? ? ? ? ? ? if(!file.type.startsWith('image')){
? ? ? ? ? ? ? ? alert('只能上傳圖片');
? ? ? ? ? ? ? ? return
? ? ? ? ? ? }
? ? ? ? ? ? let formData = new FormData();
? ? ? ? ? ? formData.set('imgFile',file);
? ? ? ? ? ? this.$axios.post(
? ? ? ? ? ? ? ? 'http://127.0.0.1:3000/admin/upload/img',
? ? ? ? ? ? ? ? formData
? ? ? ? ? ? ? ? ).then(req => {
? ? ? ? ? ? ? ? ? ? // console.log(req.data.file.path);
? ? ? ? ? ? ? ? ? ? let path = req.data.file.path; ? //獲取文件路徑
? ? ? ? ? ? ? ? ? ? // path.indexOf('\\');
? ? ? ? ? ? ? ? ? ? let imgUrl = path.substring(path.indexOf('\\'))
? ? ? ? ? ? ? ? ? ? // console.log(imgUrl);
? ? ? ? ? ? ? ? ? ? // ? 拿到的圖片路徑為\uploads\20201119\imgFile-1605779882999.jpg
? ? ? ? ? ? ? ? ? ? this.url = 'http://127.0.0.1:3000'+imgUrl; ? //我們最后要在服務(wù)器端拿到圖片,要拼接上自己的服務(wù)器的地址
? ? ? ? ? ? ? ? })
? ? ? ? }
? ? }
}
</script>

<style>

</style>

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 初學(xué)node.js中實(shí)現(xiàn)刪除用戶路由

    初學(xué)node.js中實(shí)現(xiàn)刪除用戶路由

    這篇文章主要介紹了node.js中如何實(shí)現(xiàn)刪除用戶路由,下面和小編來一起學(xué)習(xí)一下吧
    2019-05-05
  • 基于Node.js的大文件分片上傳示例

    基于Node.js的大文件分片上傳示例

    這篇文章主要介紹了基于Node.js的大文件分片上傳示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • nodejs簡單抓包工具使用詳解

    nodejs簡單抓包工具使用詳解

    這篇文章主要介紹了nodejs簡單抓包工具使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • node.js中的http.response.writeHead方法使用說明

    node.js中的http.response.writeHead方法使用說明

    這篇文章主要介紹了node.js中的http.response.writeHead方法使用說明,本文介紹了http.response.writeHead的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node.js中的fs.createWriteStream方法使用說明

    node.js中的fs.createWriteStream方法使用說明

    這篇文章主要介紹了node.js中的fs.createWriteStream方法使用說明,本文介紹了fs.createWriteStream方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 基于Nodejs的Tcp封包和解包的理解

    基于Nodejs的Tcp封包和解包的理解

    這篇文章主要介紹了基于Nodejs的Tcp封包和解包的理解,詳細(xì)的介紹了tcp的分包與拆包并實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • nodejs讀取圖片返回給瀏覽器顯示

    nodejs讀取圖片返回給瀏覽器顯示

    這篇文章主要為大家詳細(xì)介紹了nodejs讀取圖片返回給瀏覽器顯示,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 充分發(fā)揮Node.js程序性能的一些方法介紹

    充分發(fā)揮Node.js程序性能的一些方法介紹

    這篇文章主要介紹了充分發(fā)揮Node.js程序性能的一些方法介紹,Node.js是把JavaScript用于服務(wù)器端的框架,需要的朋友可以參考下
    2015-06-06
  • Node.js編寫組件的三種實(shí)現(xiàn)方式

    Node.js編寫組件的三種實(shí)現(xiàn)方式

    這篇文章主要介紹了Node.js編寫組件的三種實(shí)現(xiàn)方式,包括純js實(shí)現(xiàn)、v8 API實(shí)現(xiàn)(同步&異步)、借助swig框架實(shí)現(xiàn),感興趣的小伙伴們可以參考一下
    2016-02-02
  • webpack打包、編譯、熱更新Node內(nèi)存不足問題解決

    webpack打包、編譯、熱更新Node內(nèi)存不足問題解決

    Webpack是現(xiàn)在主流的功能強(qiáng)大的模塊化打包工具,在使用Webpack時(shí),如果不注意性能優(yōu)化,有非常大的可能會(huì)產(chǎn)生性能問題,下面這篇文章主要給大家介紹了關(guān)于webpack打包、編譯、熱更新Node內(nèi)存不足問題解決的相關(guān)資料,需要的朋友可以參考下
    2023-03-03

最新評(píng)論

雅江县| 肃南| 菏泽市| 瑞丽市| 绥宁县| 东乡族自治县| 板桥市| 无为县| 城口县| 灯塔市| 鄱阳县| 电白县| 永州市| 通城县| 桐城市| 淮安市| 安溪县| 台前县| 丰县| 句容市| 德格县| 景德镇市| 武邑县| 衡东县| 甘德县| 海口市| 乳源| 九龙坡区| 宝清县| 枝江市| 合山市| 二连浩特市| 定结县| 阿拉善右旗| 成武县| 涡阳县| 昌乐县| 广汉市| 泸溪县| 梧州市| 石台县|