博客
关于我
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 数据库存储引擎怎么选择?快来看看性能测试吧
查看>>
MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作
查看>>
MySQL 数据库的高可用性分析
查看>>
MySQL 数据库设计总结
查看>>
Mysql 数据库重置ID排序
查看>>
Mysql 数据类型一日期
查看>>
MySQL 数据类型和属性
查看>>
mysql 敲错命令 想取消怎么办?
查看>>
Mysql 整形列的字节与存储范围
查看>>
mysql 断电数据损坏,无法启动
查看>>
MySQL 日期时间类型的选择
查看>>
Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
查看>>
MySQL 是如何加锁的?
查看>>
MySQL 是怎样运行的 - InnoDB数据页结构
查看>>
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>
MySQL 有什么优点?
查看>>
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>