博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue + multer 上传图片
阅读量:4310 次
发布时间:2019-06-06

本文共 1812 字,大约阅读时间需要 6 分钟。

vuejs(element-ui) + express (multer)上传文件

  1.npm install multer --save

  2. 新建vue文件

    主要代码:

         <form method="POST" enctype="multipart/form-data" class="form-horizontal" @submit.prevent="submit" ref="inputUpload">
            <input type="file" name="resourceName" accept="audio/mpeg,image/png,image/jpeg" style="display:inline-block;width:250px;"
              v-on:change="getFileInfo" />
            <div slot="tip" class="el-upload_tip">Only .mp3, .png and .jpg file can be uploaded and size limit is 10MB.</div>
            <el-button native-type="submit" class="el-icon-upload" :disabled="!formatFile">upload</el-button>
          </form>
    
getFileInfo: function (event) {
        if (event.target.files && event.target.files.length) {
          this.upFile = event.target.files[0];
//主要读取file 显示一些信息
//....
submit: function (event) {
        var self = this;
        var fd = new FormData(event.target);
        fetch('/uploadResource', {
          method: 'POST',
          body: fd,
          credentials: "include"
        }).then(response => {//....})
          } 
3.  fetch里面的url (读取文件存放到指定的目录下面)
 
var fs = require('fs')
var multer = require('multer')
var path = "./public/static/upload";
// if (!fs.existsSync(path)) {
//     fs.mkdirSync(path)
// }
var storage = multer.diskStorage({
    destination: function (req, res, cb) {
        cb(null, path);
    },
    filename: function (req, file, cb) {
        cb(null, file.originalname)
    }
})
var upload = multer({
    storage: storage,
    limits: {
        fieldNameSize: '10M'
    }
})
exports.singleUpload = function (req, res) {
    s = uploadResource.single('imgUpload');
    s(req, res, function (err) {
        if (err) {
            res.send({
                'status': 'failed'
            })
        } else {
            res.send({
                'status': 'ok'
            })
        }
    })
}
 
4. api增加到router
router.post('/getFile',upload.singleUpload)
 
其他补充:如果是excel 换成
    accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
 
    api里面解析的时候 用到 var xlsx = require('xlsx');//自己了解
 
 
 
 
 
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/cylblogs/p/6758118.html

你可能感兴趣的文章
TB创建公式应用dll失败 请检查用户权限,终极解决方案
查看>>
python绘制k线图(蜡烛图)报错 No module named 'matplotlib.finance
查看>>
talib均线大全
查看>>
期货市场技术分析07_摆动指数和相反意见理论
查看>>
满屏的指标?删了吧,手把手教你裸 K 交易!
查看>>
不吹不黑 | 聊聊为什么要用99%精度的数据回测
查看>>
高频交易的几种策略
查看>>
量化策略回测TRIXKDJ
查看>>
量化策略回测唐安奇通道
查看>>
CTA策略如何过滤部分震荡行情?
查看>>
量化策略回测DualThrust
查看>>
量化策略回测BoolC
查看>>
量化策略回测DCCV2
查看>>
mongodb查询优化
查看>>
五步git操作搞定Github中fork的项目与原作者同步
查看>>
git 删除远程分支
查看>>
删远端分支报错remote refs do not exist或git: refusing to delete the current branch解决方法
查看>>
python multiprocessing遇到Can’t pickle instancemethod问题
查看>>
APP真机测试及发布
查看>>
通知机制 (Notifications)
查看>>