vue 富文本图片上传(vue.js云存储实现图片上传功能)
类别:编程学习 浏览量:2820
时间:2022-03-29 15:49:41 vue 富文本图片上传
vue.js云存储实现图片上传功能前言提示:以下是本篇文章正文内容,下面案例可供参考
一、对象存储示对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,具有高扩展性、低成本、可靠安全等优点。通过控制台、API、SDK 和工具等多样化方式,用户可简单、快速地接入 COS,进行多格式文件的上传、下载和管理,实现海量数据存储和管理。
二、配置腾讯云Cos1.引入库
代码如下(示例):
目标 : 配置一个腾讯云cos
由于上课的开发的特殊性,我们不希望把所有的图片都上传到我们自己的官方服务器上,这里我们
可以采用一个腾讯云的图片方案
第一步拥有腾讯云的开发者账号
实名认证
下一步,扫描二维码授权
点击领取免费产品
选择对象存储COS
到这一步,账号的部分就操作完毕,接下来,我们需要来创建一个存储图片的存储桶
登录 对象存储控制台 ,创建存储桶。设置存储桶的权限为 公有读,私有写
创建存储桶
设置cors规则
AllowHeader 需配成 * ,
到这里,我们的腾讯云存储桶就设置好了。
安装JavaScript SDK
npm i cos-js-sdk-v5 --save
新建上传图片组件 src/components/ImageUpload/index.vue
上传组件,我们可以沿用element的el-upload组件,并且采用照片墙的模式 listtype=“picture-card”
<template> <li> <el-upload list-type="picture-card" :limit="4" action="#" :file-list="fileList" :on-preview="preview" :http-request="upload" :on-change="change" :before-upload="beforeUpload" :accept="typeList" :on-remove="handleRemove" > <i class="el-icon-plus" /> </el-upload> <el-progress v-if="showPercent" style="width: 180px" :percentage="percent" /> <el-dialog title="图片" :visible.sync="showDialog"> <img :src="imgUrl" style="width: 100%" alt="" /> </el-dialog> </li> </template> <script> import COS from 'cos-js-sdk-v5' const cos = new COS({ SecretId: 'xxx', // 密钥id SecretKey: 'xxx' // 密钥 key }) // 实例化的包 已经具有了上传的能力 可以上传到该账号里面的存储桶了 export default { data() { return { fileList: [], // 图片地址设置为数组 showDialog: false, // 控制显示弹层 imgUrl: '', currentImageUid: null, typeList: 'image/*', showPercent: false, // 是否显示进度条 percent: 0 // 上传进度 } }, methods: { preview(file) { this.imgUrl = file.url this.showDialog = true }, beforeUpload(file) { // 允许上传的文件类型 const types = ['image.jpg" alt="vue 富文本图片上传(vue.js云存储实现图片上传功能)" border="0" />
detail 详情页引入构成部分
<template> <li class="app-container"> <el-card> <el-tabs> <el-tab-pane label="个人详情"> <user-info /> </el-tab-pane> <el-tab-pane label="重置密码"> <!-- 放置表单 --> <el-form label-width="120px" style="margin-left: 120px; margin-top: 30px" > <el-form-item label="密码:"> <el-input style="width: 300px" type="password" /> </el-form-item> <el-form-item label="确认密码:"> <el-input style="width: 300px" type="password" /> </el-form-item> <el-form-item> <el-button type="primary">重置</el-button> </el-form-item> </el-form> </el-tab-pane> <el-tab-pane label="部门信息"> <department /> </el-tab-pane> <el-tab-pane label="选择头像"> <image-upload /> </el-tab-pane> </el-tabs> </el-card> </li> </template> <script> import userInfo from './component/Userinfo' import department from './component/Department' import imageUpload from '@/components/ImagUpload' export default ({ components: { 'user-info': userInfo, 'department': department, 'image-upload': imageUpload }, // methods: { upload(e) { const file = e.target.files[0] const reader = new FileReader() reader.readAsDataURL(file) reader.onload = async function (e) { await upload({ file: { originalname: '11.jpg" alt="vue 富文本图片上传(vue.js云存储实现图片上传功能)" border="0" />
给detail页创建一个路由,因为当前写的'查看‘是二级导航跳转所以创建路由时应该写成
import Layout from '@/layout' export default { path: '/user', component: Layout, children: [{ path: 'index', component: () => import('@/views/user/index'), name: 'user', meta: { title: '用户管理', icon: 'account' } }, { path: 'detail', component: () => import('@/views/user/detail'), name: 'detail', hidden: true, meta: { title: '用户详情', icon: 'account' } }] }
效果图
点击查看:
选择头像:
再看下云存储中是否已上传:
到此这篇关于vue.js云存储实现图片上传功能的文章就介绍到这了,更多相关vue.js 图片上传内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- vue.js入门教学第15讲(Vue.js 使用AntV X6的示例步骤)
- vue.js 怎么做插件(Vue.js实现音乐播放器)
- vue实现图片上传数据库(vue.js根据图片url进行图片下载)
- vue切换图片效果(Vue.js实现图片切换功能)
- vue双向数据绑定js如何实现(纯JS如何实现vue.js下的双向绑定功能)
- vue购物车怎么实现(Vue.js框架实现购物车功能)
- vue 富文本图片上传(vue.js云存储实现图片上传功能)
- vue怎么定义router的动态路由(vue.js Router中嵌套路由的实用示例)
- vue.js开发网站的关键技术(Vue.js项目前端多语言方案的思路与实践)
- vue 如何执行动态js(如何利用vue.js实现拖放功能)
- 使用vue-cli构建electron项目(MAC+PyCharm+Flask+Vue.js搭建系统)
- vue引用js库报错(Vue插件报错:Vue.js is detected on this page.问题解决)
- vuejs指令解析(Vue.js中的计算属性、监视属性与生命周期详解)
- 吉林舒兰 封城 15人确诊 276人隔离,出现跨省传播(吉林舒兰封城)
- 四月新番CP人气榜公布,《剃须》两度上榜,沙优不是女朋友(四月新番CP人气榜公布)
- 2019年外媒秋季新番动画角色CP排行榜,桐人和爱丽丝落榜(2019年外媒秋季新番动画角色CP排行榜)
- 新一小兰领衔 盘点动漫中的那些 远距离恋爱情侣(盘点动漫中的那些)
- 大事件 合肥四中火了(大事件合肥四中火了)
- 翼龙贷组织出借人调研 感受鄱阳 借 来的致富路(翼龙贷组织出借人调研)
热门推荐
- asp.net MVC处理流程
- javascript变量值做函数名(JavaScript中变量提升和函数提升实例详解)
- phpstudy创建网站教程交流(phpStudy V8中创建与管理站点图文教程)
- HttpWebRequest的使用
- laravel数据返回格式(laravel 关联关系遍历数组的例子)
- table rowspan和colspan
- 执行mysqldump命令后数据库无反应(关于xampp启动不了mysql数据库的解决方法)
- dedecms v5.7使用教程(织梦dedecms数据库类$dsql使用方法步骤)
- 宝塔面板怎么修改默认端口(如何修改宝塔Linux面板默认的端口号8888?)
- sql server案例(SQL Server作业报错特殊案例分析)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9