zoukankan      html  css  js  c++  java
  • vue上传

    <template>
      <div id="app">
        <!-- <img alt="Vue logo" src="./assets/logo.png"> -->
        <!-- <HelloWorld msg="Welcome to Your Vue.js App"/> -->
        <el-upload style="margin-left:50%;transform:translateX(-74px)"
          action="#"
          :http-request="uploadImg"
          :limit='1'
        
      
          :auto-upload="true"
          >
            <span id="text" @click="uploadImg">点击上传封面</span>
      </el-upload>
    
    </div>
      
    </template>
    
    <script>
    // import HelloWorld from './components/HelloWorld.vue'
    import COS from "cos-js-sdk-v5"
    import request from "request"
    export default {
      name: 'App',
      components: {
        // HelloWorld
      },
    
      data () {
        return {
          expiredTime: 0,
          expiration: "",
          credentials: {sessionToken:"",tmpSecretId:"",tmpSecretKey:""},
          requestId:"",
          startTime:0
        }
      },
      methods: {
      // 封面上传
      uploadImg () {
      console.log("uploadImg")
      // 创建COS实例  获取签名
      //这里写你们后端提供的请求接口即可
      const res =  this.$http.get('http://127.0.0.1:8000/sts')
        console.log("credentials----");
      // console.log(JSON.parse(res.data.data))
      //这里是因为我们后端返回的是一组JSON字符串,所以进行了一次转化,如果你们直接返回的就是json对象,直接忽略即可
      // const data = JSON.parse(res)
      const data = res;
      console.log("data--",data)
      // var request = require('request');
      // var COS = require('cos-nodejs-sdk-v5');
      var cos = new COS({
        getAuthorization: function (options, callback) {
            // 异步获取临时密钥
            request({
                url: 'http://127.0.0.1:8000/sts',
                data: {
                    // 可从 options 取需要的参数
                }
            }, function (err, response, body) {
                try {
                    var data = JSON.parse(body);
                    var credentials = data.credentials;
                } catch(e) {console.log(11)}
                if (!data || !credentials) return console.error('credentials invalid');
                callback({
                    TmpSecretId: credentials.tmpSecretId,        // 临时密钥的 tmpSecretId
                    TmpSecretKey: credentials.tmpSecretKey,      // 临时密钥的 tmpSecretKey
                    SecurityToken: credentials.sessionToken, // 临时密钥的 sessionToken
                    ExpiredTime: data.expiredTime,               // 临时密钥失效时间戳,是申请临时密钥时,时间戳加 durationSeconds
                });
            });
        }
      });
      // 上传图片  其中Bucket 和 Region找你们负责人拿
      //key 在前面加上路径写法可以生成文件夹
      cos.putObject({
        Bucket: 'srcb-test-1304747370', /* 必须 */
        Region: 'ap-shanghai', /* 存储桶所在地域,必须字段 */
        Key: "/excel/"+new Date().getTime() + this.fileName, /* 必须 */
        StorageClass: 'STANDARD',
        Body: this.file, // 上传文件对象
        // onProgress: progressData => {
        // }
      }, (err, data) => {
        // 将上传后的封面进行路径拼接保存到本地
        console.log("after done",err || data)
    
      })
      }
    }
    }
    
    </script>
    
    <style>
    #app {
      font-family: Avenir, Helvetica, Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-align: center;
      color: #2c3e50;
      margin-top: 60px;
    }
    </style>
    追寻互联网科技、程序编码、软件设计、有限元网格划分、流场分析、求解算法等尖端技术,在迈向技术巅峰的道路上,不断的前行。 或许我不是跑的最快的,但我会是一直在跑的!
  • 相关阅读:
    经典网址记录
    Python爬虫利器三之Xpath语法与lxml库的用法
    XPath 语法
    import,reload,__import__在python中的区别
    用redis实现队列实例
    代理池抓取基础版-(python协程)--抓取网站(西刺-后期会持续更新)
    selenuim&PhantomJS&Beautifulsoup练习经典实例
    Python面向对象编程(四)
    Python面向对象编程(三)
    Python面向对象编程(二)
  • 原文地址:https://www.cnblogs.com/bigc008/p/15030198.html
Copyright © 2011-2022 走看看