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

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

Vue上传文件到七牛云存储的实现步骤

目的

实现前台使用Vue,后台使用Java传递token,通过七牛云存储上传图片或文件的功能。

说明

本文将详细介绍实现过程,涵盖前台和后台的具体配置及代码实现。

第一步:前台配置

1. 安装依赖

通过cnpm或者npm安装qiniu-js库:

cnpm install qiniu-js# 或者npm install qiniu-js

2. 配置主文件

在main.js中进行以下配置:

// 示例配置const qiniu = require('qiniu-js');const config = {  useCdnDomain: true,  region: qiniu.region.z0 // 例如,华东区域};const putExtra = {  fname: '', // 文件名  params: {}, // 可选参数  mimeType: [] // 上传文件的MIME类型};

3. 实现上传功能

在需要上传的组件中进行如下操作:

this.$ajax.get('/getToken')  .then(response => {    this.token = response.data.token;    this.key = response.data.key;    const file = this.$refs.file.files[0];    const observer = {      next(res) {        // 上传进度回调      },      error(err) {        // 上传失败处理      },      complete(res) {        // 上传完成回调      }    };    const uploadTask = qiniu.upload(file, this.key, this.token, putExtra, config);    const subscription = uploadTask.subscribe(observer);    // 保存上传结果到后台    return this.$ajax.post('/saveBlog', JSON.stringify(this.inputBlog))      .then(response => {        // 处理响应        return response;      });  });

重要说明

  • 获取token:通过GET /getToken 获取token值,后台将返回包含token和图片名的响应。
  • 上传文件:使用qiniu-js库进行文件上传,通过前台获取的token进行身份验证。
  • 第二步:后台配置

    1. Maven依赖

    在项目的pom.xml中添加相关依赖:

    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. Java代码实现

    在后台控制器中实现/getToken接口:

    @RequestMapping(value = "/getToken", method = RequestMethod.GET)public QiNiu getToken() {    // 初始化七牛云配置    String accessKey = ""; // 替换为实际的accessKey    String secretKey = ""; // 替换为实际的secretKey    String bucket = "your-bucket-name"; // 替换为实际的空间名    // 生成上传token    Auth auth = Auth.create(accessKey, secretKey);    String upToken = auth.uploadToken(bucket, null, 600, new StringMap());    // 生成随机的文件名    String key = UUID.randomUUID().toString();    return new QiNiu(key, upToken);}

    注意事项

  • 确保前台和后台接口对调通,尤其是token的获取和验证流程。
  • 部署时注意配置七牛云的域名和区域,确保访问时可用CNAME或域名访问。
  • 文件上传时注意处理不同文件类型的MIME类型设置。
  • 后台需要注意权限控制,确保只有授权用户可以调用getToken接口。
  • 通过以上步骤,您可以实现前台使用Vue,后台使用Java轻松实现文件上传到七牛云存储的功能。

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

    你可能感兴趣的文章
    Prometheus监控教程:使用PromQL查询监控数据(上篇)
    查看>>
    Prometheus监控教程:使用PromQL查询监控数据(下篇)
    查看>>
    Pytorch中关于forward函数的理解与用法
    查看>>
    Prometheus监控教程:安装部署
    查看>>
    Prometheus监控教程:配置介绍
    查看>>
    Pytorch中tqdm进度条的使用
    查看>>
    Prometheus(2):SpringBoot 2.X集成Prometheus
    查看>>
    Promise 原理解析与实现(遵循Promise/A+规范)
    查看>>
    PyTorch:传递 numpy 数组进行权重初始化
    查看>>
    PyTorch-Tutorials【pytorch官方教程中英文详解】- 8 Save and Load Model
    查看>>
    promise.all是并发执行吗_攻破面试灵魂拷问,解读Java并发编程的艺术,本文带你深入l理解...
    查看>>
    PyTorch-Tutorials【pytorch官方教程中英文详解】- 7 Optimization
    查看>>
    promise总结
    查看>>
    Propel项目改为基于TensorFlow.js
    查看>>
    PyTorch-Tutorials【pytorch官方教程中英文详解】- 6 Autograd
    查看>>
    properties出现中文乱码解决方法(万能)
    查看>>
    Property 'submit' of object #<HTMLFormElement> is not a function
    查看>>
    property--staticmethod--classmethod
    查看>>
    propertyGrid
    查看>>
    propertyPlaceholderConfigurer读取配置文件
    查看>>