博客
关于我
Vue上传文件/图片到七牛云
阅读量:194 次
发布时间:2019-02-28

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

目的:使用 vue 上传文件/图片 到七牛云

说明:

     1、前台使用vue,后台用 java 传递一个 token。

     2、token : 这个相当于一个密钥。

    3、简单点说。就不写什么去注册账号,找到 as he ks 啥的,都到这一步,这些都不用说了。

第一步:前台 

    1、安装 cnpm install qiniu-js /  npm install qiniu-js

    2、main.js 配置

 

   3、使用

releaseBlog() {     //发布博客                              var qiniu = require('qiniu-js')                var config = {                    useCdnDomain: true,                    region: qiniu.region.z0,     //华东                };                var putExtra = {                    fname: "",                    params: {},                    mimeType: [] || null                 };                var observer = {                    next(res){                        // ...                    },                    error(err){                        // ...                    },                     complete(res){                        // ...                    }                }                               var url1 = this.$store.state.frontUrl + "/getToken"                this.$ajax.get(url1)                .then( response => {                                        //获取 token 和 图片的名称                    this.token = response.data.token;                    this.key = response.data.key;                    //把图片上传到 七牛云                    var observable = qiniu.upload(this.$refs.file.files[0], this.key, this.token , putExtra, config)                    var subscription = observable.subscribe(observer) // 上传开始                    //把数据保存到 后台                    var url2 = this.$store.state.frontUrl + "/saveBlog"                    this.$ajax.post(url2,JSON.stringify(this.inputBlog))                    .then( response => {                                           })                })            },

这里做两点说明:

    1、获取token:很明显,我的第一个 ajax 就是,去后台获取 token 的。后面会给出后台 制作 token的代码。

    2、获取上传的文件数据:

2、获取上传的文件数据:this.$refs.file.files[0]

第二步:后台

2-1:maven 依赖

com.qiniu
qiniu-java-sdk
7.2.11
compile
com.squareup.okhttp3
okhttp
3.3.1
compile
com.google.code.gson
gson
2.6.2
compile
com.qiniu
happy-dns-java
0.1.4
compile
junit
junit
4.12
test

2-2:java代码

@RequestMapping(value = "/getToken", method = RequestMethod.GET)    public QiNiu getToken() {        QiNiu qiNiu = new QiNiu();        // 这三个 就是  ak  sk   和你的 空间名        String accessKey = "";        String secretKey = "";        String bucket = "";        long expireSeconds = 600;        StringMap putPolicy = new StringMap();        Auth auth = Auth.create(accessKey, secretKey);        String upToken = auth.uploadToken(bucket,null, expireSeconds,putPolicy);        qiNiu.setKey(UUID.randomUUID().toString());        qiNiu.setToken(upToken);      return qiNiu;    };

 

 

 

 

 

 

 

 

 

 

 

转载地址:http://ycjj.baihongyu.com/

你可能感兴趣的文章
MySQL I 有福啦,窗口函数大大提高了取数的效率!
查看>>
mysql id自动增长 初始值 Mysql重置auto_increment初始值
查看>>
MySQL in 太多过慢的 3 种解决方案
查看>>
Mysql Innodb 锁机制
查看>>
MySQL InnoDB中意向锁的作用及原理探
查看>>
MySQL InnoDB事务隔离级别与锁机制深入解析
查看>>
Mysql InnoDB存储引擎 —— 数据页
查看>>
Mysql InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
mysql problems
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>