美文网首页
七牛多文件上传(node formidable)

七牛多文件上传(node formidable)

作者: 吃冬瓜的小学生 | 来源:发表于2019-11-11 11:31 被阅读0次

html

用的vant的上传组件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 引入样式文件 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vant@2.2/lib/index.css">

    <!-- 引入 Vue 和 Vant 的 JS 文件 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/vant@2.2/lib/vant.min.js"></script>
    <script src="https://cdn.bootcss.com/axios/0.19.0-beta.1/axios.min.js"></script>
</head>
<body>
<div id="app">
    <van-uploader  multiple :after-read="afterRead" />
</div>
<script>
    // 在 #app 标签下渲染一个按钮组件
    new Vue({
        el: '#app',
        //template: `<van-button>按钮</van-button>`
        data:{
          url:'http://localhost:3003/upImg'
        },
        methods: {
            afterRead(file) {
                // 此时可以自行将文件上传至服务器
                console.log(file);
                let params = new FormData()
                if(file instanceof Array){
                    for(let i=0;i<file.length;i++){
                        params.append("file"+i,file[i].file)
                    }
                }else{
                    params.append("file",file.file)
                }

                let config = {
                    header:{
                        "Content-Type":"multipart/form-data"
                    }
                }
                axios.post(this.url,params,config).then(res=>{
                    console.log(res)
                }).catch(err=>{

                })
            }
        }
    });
    // 调用函数组件,弹出一个 Toast
    vant.Toast('提示');
</script>
</body>
</html>

node

  var express = require('express');
var fs = require('fs');
var path = require('path');
var qiniu = require('qiniu');
var qn = require('./qiniuMain')
var app = express();
app.all('*',function(req,res,next){
    res.header('Access-Control-Allow-Origin','*');//*表示可以跨域任何域名都行 也可以填域名表示只接受某个域名
    res.header('Access-Control-Allow-Headers','X-Requested-With,Content-Type');//可以支持的消息首部列表
    res.header('Access-Control-Allow-Methods','PUT,POST,GET,DELETE,OPTIONS');//可以支持的提交方式
    res.header('Content-Type','application/json;charset=utf-8');//请求头中定义的类型
    next();
});

//结果包装函数
let result = function (obj,bool){
    if(bool){
        return {status:0,data:obj};
    }else{
        return {status:1,data:obj};
    }
}

//上传图片
app.post("/upImg",function(req,routerRes){
    try{
        qn.upImg(req,function(res){
            console.log('res',res);
            return routerRes.send('hahhaha')
            /*if(res.status == 0){
                return routerRes.json(result(res.data,true));
            }else{
                return routerRes.json(result(res.msg,false));
            }*/
        });
    }catch(err){
        if(err){
            console.log('trycatch报错====',err);
        }
    }
})
var server = app.listen(3003, function() {
    var host = server.address().address;
    var port = server.address().port;
    console.log('running3003');
});



相关文章

网友评论

      本文标题:七牛多文件上传(node formidable)

      本文链接:https://www.haomeiwen.com/subject/sqzzbctx.html