分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

vue + elementUi + upLoadIamge组件 上传文件到阿里云oss

发布时间:2023-09-06 02:08责任编辑:苏小强关键词:element组件
<template> ?<div class="upLoadIamge"> ?????<el-upload ?????action="https://jsonplaceholder.typicode.com/posts/" ?????list-type="picture-card" ?????:on-preview="handlePictureCardPreview" ?????:on-remove="handleRemove" ?????:http-request="myLoad" ?????> ?????<i class="el-icon-plus"></i> ???</el-upload> ???<el-dialog :visible.sync="dialogVisible"> ?????<img width="100%" :src="dialogImageUrl" alt=""> ???</el-dialog> ?</div></template>
<script>let axios = require(‘axios‘)export default { ?name: ‘upLoadIamge‘, ?data () { ???return { ?????dialogImageUrl: ‘‘, ?????dialogVisible: false ???} ?}, ?methods: { ???handleRemove (file, fileList) { ?????console.log(file, fileList) ???}, ???handlePictureCardPreview (file) { ?????this.dialogImageUrl = file.url ?????this.dialogVisible = true ???}, ???// 自定义上传的方式 作者:曾经的水哥 https://www.cnblogs.com/cengjingdeshuige/ ???myLoad (param) { ?????let file = param.file // 得到文件的内容 ?????console.log(file) ?????let index = file.name.indexOf(‘.‘) ?????let nameEnd = file.name.substr(index) ?????const ossApiUrl = ‘这个是获取OSS签名的后台接口地址‘ // 获取oss签名的地址 ?????// 获取oss签名 ?????axios.post(ossApiUrl).then((data) => { ???????if (data.status == 200 && data.data.code == 0) { //eslint-disable-line ?????????let json = data.data.data ?????????let ossUrl = json.host ?????????let nameStart = new Date().getTime() + ‘‘ + Math.ceil(Math.random() * 100) ?????????let name = ‘/‘ + nameStart + nameEnd ?????????let getUrl = json.host + ‘/‘ + json.dir + name // 上传后的文件地址 ?????????let sendData = new FormData() // 上传文件的data参数 ?????????sendData.append(‘OSSAccessKeyId‘, json.accessid) ?????????sendData.append(‘policy‘, json.policy) ?????????sendData.append(‘Signature‘, json.signature) ?????????sendData.append(‘keys‘, json.dir) ?????????sendData.append(‘key‘, json.dir + name) ?????????sendData.append(‘success_action_status‘, 200) // 指定返回的状态码 ?????????sendData.append(‘type‘, ‘image/jpeg‘) ?????????sendData.append(‘file‘, file) ?????????console.log(sendData) ?????????axios.post(ossUrl, sendData).then(() => { ???????????console.log(‘得到上传到阿里云的图片地址: ?‘ + getUrl) ?????????}) ???????} ?????}) ???} ?}, ?mounted () { ?}}</script>

vue + elementUi + upLoadIamge组件 上传文件到阿里云oss

原文地址:https://www.cnblogs.com/cengjingdeshuige/p/10265874.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved