美文网首页
七牛多文件上传(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