vue+element ui上传图片到七牛云服务器

文章讲述了作者尝试使用前端ElementUI组件实现资源上传到七牛云的demo,但由于获取token的复杂性,最终选择通过后端SpringBoot提供token。展示了前端上传组件、安装QiniuSDK、设置自定义上传方法以及后端SpringBoot控制器生成token的代码片段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本来打算做一个全部都是前端完成的资源上传到七牛云的demo,但是需要获取token,经历了九九八十一难,最终还是选择放弃,token从后端获取(springboot)。如果你们有前端直接能解决的麻烦记得私我哦!!!

效果展示

在这里插入图片描述

先看看文档:
element ui :https://element.eleme.cn/#/zh-CN/component/upload
七牛云:https://developer.qiniu.com/kodo/1283/javascript

前端

  1. 首先安装七牛云的JS的sdk
npm install qiniu-js
  1. 此处域名是指向你自己的七牛云域名,目的是让照片回显。如何在七牛云中找到自己的域名请看下面。
    在这里插入图片描述
    3 .七牛云中找到自己的域名在这里插入图片描述
<template>
    <div>
        <el-upload class="upload-demo" action="https://upload.qiniup.com" :on-remove="handleRemove" :file-list="fileList"
            list-type="picture" :http-request="customUpload" accept="image/jpeg,image/gif,image/png">
            <el-button size="small" type="primary">点击上传</el-button>
            <div slot="tip" class="el-upload__tip">只能上传jpg/png/gif文件,且不超过2M</div>
        </el-upload>
    </div>
</template>

<script></
首先,你需要在七牛云上创建一个存储空间并获取到该存储空间的 Access Key 和 Secret Key。 然后,你可以使用七牛云的 JavaScript SDK 进行文件上传,具体步骤如下: 1. 在你的 Vue 项目中安装 qiniu-js SDK: ``` npm install qiniu-js --save ``` 2. 在你的 Vue 组件中引入 qiniu-js SDK: ```javascript import * as qiniu from &#39;qiniu-js&#39; ``` 3. 定义上传方法,示例如下: ```javascript uploadToQiniu(file) { const observer = { next(res) { // 上传中,可以用来显示上传进度 }, error(err) { // 上传失败 console.log(err) }, complete(res) { // 上传成功 console.log(res) } } const putExtra = { // 上传后保存的文件名 key: file.name, // 自定义变量,用于返回给上传回调函数 customVars: { // 可以自定义一些变量,比如文件类型、上传者等 } } const config = { // 七牛云存储空间的域名,需要在七牛云管理后台获取 useCdnDomain: true, // 是否使用 HTTPS 协议上传 region: qiniu.region.z0 } const observable = qiniu.upload(file, null, this.token, putExtra, config) const subscription = observable.subscribe(observer) } ``` 4. 在组件中调用上传方法: ```javascript // 获取上传凭证,需要在服务端生成,这里假设凭证已获取到并存储在 this.token 中 this.uploadToQiniu(file) ``` 以上就是使用 Vue七牛云 JavaScript SDK 实现文件上传的基本步骤,你可以根据自己的需求进行修改和优化。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值