Vue上传文件/图片到七牛云

news/2024/7/10 1:55:39 标签: 七牛云, 前台页面, java, Vue, 小道仙

目的:使用 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、获取上传的文件数据:

<input type="file" ref="file" accept="image/*" >
this.$refs.file.files[0]

第二步:后台

2-1:maven 依赖

<dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>qiniu-java-sdk</artifactId>
            <version>7.2.11</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>3.3.1</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.6.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>happy-dns-java</artifactId>
            <version>0.1.4</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

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://www.niftyadmin.cn/n/775341.html

相关文章

上线前一个小时,dubbo这个问题可把我折腾惨了

前因 那是一个月黑风高的夜晚&#xff0c;不管有没有圆圆的月亮&#xff0c;都无法解救要加班的我。这就是苦涩的人生啊&#xff01; 那天正好是春节回家的日子&#xff0c;定了晚上的票&#xff0c;然后还是上线的日子。 测试在做回归测试的时候&#xff0c;发现一个老功能…

七牛云服务器获取Token代码【java】

目的&#xff1a;获取七牛云需要的token 简单说明&#xff1a;本来服务器只需要返回一个 token 就好了&#xff0c; 但是我这里多返回了一个 UUID 的字符串。我是把它当作文件的名称&#xff0c;防止重复&#xff0c;不想用&#xff0c;也可以不用。 主要代码&#xff08;下面三…

每日一技|巧用 Telnet 调试 Dubbo 服务

个人博客地址 studyidea.cn,点击查看更多原创文章 0x00. 前言 想象这样一个场景&#xff0c;线上某个服务突发异常&#xff0c;导致上游服务调用异常&#xff0c;数据处于中间状态。服务恢复之后&#xff0c;我们需要修复这笔数据至正常状态&#xff0c;怎么办&#xff1f; 如…

springboot2.0 配置上传文件大小 【application.yml/application.properties】

目的&#xff1a;在springboot2.0上面配置上传文件大小 1、application.properties spring.servlet.multipart.max-file-size50Mb spring.servlet.multipart.max-request-size200Mb 2、application.yml spring:servlet:multipart:enabled: truemax-file-size: 20MBmax-req…

使用NetBenchmark压测TCP,HTTP和Websocket服务

NetBenchmark是针对网络服务压测订制的开源组件&#xff0c;组件提供TCP,HTTP和Websocket的压力测试基础功能&#xff1b;为了更好的符合业务需求组件不提供&#xff35;&#xff29;配置信息源的方式(毕竟这种方式只能作有限制测试),而是由使用者来自己制定相应的逻辑代码来进…

wangeditor 跨域 使用 SpringBoot,上传文件到七牛云

1、解决跨域问题 https://blog.csdn.net/Tomwildboar/article/details/82901514 2、前台页面 wangeditorInit() { //初始化编辑器var editor new E(#div1, #div2) // 两个参数也可以传入 elem 对象&#xff0c;class 选择器// 自定义表情// editor.customConfig.emotion…

wangeditor3 上传图片到七牛云

目的&#xff1a;wangeditor3 上传图片到七牛云 很遗憾&#xff0c;我没有完成这个功能。 我复制了&#xff0c;文档上面的代码&#xff0c;就是不行。页面报异常说是没有 uploader 这个方法。我也引入了 qiniu.js 和 plupload.full.min.js。 然后我去翻看 qiniu.js 发现&am…

深入分析Java反射(一)-核心类库和方法

前提 Java反射的API在JavaSE1.7的时候已经基本完善&#xff0c;但是本文编写的时候使用的是Oracle JDK11&#xff0c;因为JDK11对于sun包下的源码也上传了&#xff0c;可以直接通过IDE查看对应的源码和进行Debug。 本文主要介绍反射的基本概念以及核心类Class、Constructor、…