当前位置: 首页 > news >正文

vue中使用ali-oss上传文件到阿里云上

1.使用 npm 安装ali-oss

npm install ali-oss --save

2.写ali-oss.js

// 引入ali-oss
let OSS = require('ali-oss')
let client = new OSS({region: 'oss-cn-xxx', // bucket所在的区域, 默认oss-cn-hangzhousecure: true, // secure: 配合region使用,如果指定了secure为true,则使用HTTPS访问accessKeyId: '', // 通过阿里云控制台创建的AccessKeyaccessKeySecret: '', // 通过阿里云控制台创建的AccessSecretbucket: 'xxxxx', // 通过控制台或PutBucket创建的bucket
})
export const put = async (ObjName, fileUrl) => {try {let result = await client.put(`${ObjName}`, fileUrl)// ObjName为文件名字,可以只写名字,就直接储存在 bucket 的根路径,如需放在文件夹下面直接在文件名前面加上文件夹名称return result} catch (e) {console.log(e)}
}

3.使用element ui的 upload 组件进行上传

<template><div><el-uploadclass="upload-demo"actiondrag:http-request="handleUploadOss":before-upload="beforeUploadOss"><i class="el-icon-upload"></i><div class="el-upload__text" v-loading="uploadLoading">将文件拖到此处,或<em>点击上传</em></div></el-upload></div>
</template>
<script>
import {put} from '@/utils/ali-oss'
export default {
data() {return {},methods: {beforeUploadOss(file) {// console.log(file)// 限制上传类型const fileExtensions = this.getFileName(file.name) === '.doc' || this.getFileName(file.name) === '.docx' || this.getFileName(file.name) ==='.pdf' || this.getFileName(file.name) ==='.xlsx' || this.getFileName(file.name) ==='.zip'//限制的上限为500Mbconst maxSize = file.size / 1024 / 1024 < 500;if (!fileExtensions) {this.$message.error('上传文件类型只能是 .doc, .docx, .pdf 格式, .xlsx 格式, .zip 格式!');}if (!maxSize) {this.$message.error('上传文件大小不能超过 500MB!');}// return fileExtensions && max20M;return maxSize},getFileName(name){return name.substring(name.lastIndexOf('.'))},handleUploadOss(option) {let objName = option.file.namelet fileName = moment().format('YYYY/MM/DD')this.uploadLoading = trueput(`${fileName}/${objName}`, option.file).then(res => {console.log(res)if (res.res.statusCode === 200) {this.$message.success('上传成功')}else{this.$message.error('上传失败')}}).catch((err) => {})},} 
}}
</script>

相关文章:

vue中使用ali-oss上传文件到阿里云上

1.使用 npm 安装ali-oss npm install ali-oss --save2.写ali-oss.js // 引入ali-oss let OSS require(ali-oss) let client new OSS({region: oss-cn-xxx, // bucket所在的区域&#xff0c; 默认oss-cn-hangzhousecure: true, // secure: 配合region使用&#xff0c;如果指…...

php实战案例记录(17)计算时间的函数及其示例说明

在PHP中&#xff0c;有许多函数可以用于计算和处理时间。以下是一些常用的计算时间的函数及其示例说明&#xff1a; time()&#xff1a;获取当前时间的Unix时间戳。 $currentTimestamp time(); echo $currentTimestamp;date()&#xff1a;将Unix时间戳格式化为指定的日期和时…...

基于Keil a51汇编 —— MPL 宏定义

MPL 宏 Ax51汇编程序支持的宏处理语言&#xff08;MPL&#xff09;是一种字符串替换工具&#xff0c;使您能够编写可修复的代码块&#xff08;宏&#xff09;并将其插入源文本中的一个或多个位置。 宏处理器查看源文件的方式与汇编程序不同。 对于汇编程序来说&#xff0c;源…...

Android 13 骁龙相机点击拍照流程分析(二)——点击拍照到存入相册

一.前言 本篇是在Android 13 骁龙相机点击拍照流程分析(一)——点击拍照到更新到左下角缩略图文章的基础上进行延申的,前面的预览、点击拍照的过程参考第一篇:Android 13 骁龙相机点击拍照流程分析(一)——点击拍照到更新到左下角缩略图-CSDN博客 二.生成图片并保存 从第…...

常见算法-巴斯卡三角形(Pascal)

常见算法-巴斯卡三角形&#xff08;Pascal&#xff09; 1、说明 巴斯卡&#xff08;Pascal&#xff09;三角形基本上就是在解 nCr&#xff0c;因为三角形上的每一个数字各对应一个nCr&#xff0c;其中 n 为 row&#xff0c;而 r 为 column&#xff0c;如下&#xff1a; 0C0 1…...

AI:09-基于深度学习的图像场景分类

图像场景分类是计算机视觉领域的重要任务之一,它涉及将图像分为不同的场景类别,如城市街景、山脉风景、海滩等。本文将介绍基于深度学习的图像场景分类方法,并提供相应的代码实例,展示了深度学习在图像场景分类中的技术深度和应用前景。 图像场景分类是计算机视觉中的一项…...

uni-app:引入echarts(使用renderjs)

效果 代码 <template><view click"echarts.onClick" :prop"option" :change:prop"echarts.updateEcharts" id"echarts" class"echarts"></view> </template><script>export default {data()…...

使用wireshark解析ipsec esp包

Ipsec esp包就是ipsec通过ike协议协商好后建立的通信隧道使用的加密包&#xff0c;该加密包里面就是用户的数据&#xff0c;比如通过的语音等。 那么如何将抓出来的esp包解析出来看呢&#xff1f; 获取相关的esp的key信息. 打开wireshark -> edit->preferences 找到pr…...

linux如何删除最近操作的日志

Linux系统下&#xff0c;不同的应用程序可能会生成不同的日志文件。如果你想要删除最近一段时间内的操作日志&#xff0c;可以使用一些命令来完成。 以下是一些常见的命令&#xff1a; dmesg&#xff1a;该命令用于显示内核环境下的运行信息和警告信息。如果你需要清空dmesg缓…...

android端MifareClassicTool

github地址 GitHub - ikarus23/MifareClassicTool: An Android NFC app for reading, writing, analyzing, etc. MIFARE Classic RFID tags. 开源项目 下载: https://www.icaria.de/mct/releases/ 功能 1、读取Mifare Classic卡片 2、编辑并保存卡片的数据 3、写入Mifare C…...

设计模式 - 迭代器模式

目录 一. 前言 二. 实现 三. 优缺点 一. 前言 迭代器模式是一种行为型设计模式&#xff0c;它提供了一种统一的方式来访问集合对象中的元素&#xff0c;而不暴露集合内部的表示方式。简单地说&#xff0c;就是将遍历集合的责任封装到一个单独的对象中&#xff0c;我们可以按…...

Docker之Dockerfile搭建lnmp

目录 一、搭建nginx ​编辑 二、搭建Mysql&#xff08;简略版&#xff09; 三、搭建PHP 五、补充 主机名ip地址主要软件mysql2192.168.11.22Docker 代码示例 systemctl stop firewalld systemctl disable firewalld setenforce 0docker network create --subnet172.18.…...

排序算法——选择排序

一、介绍&#xff1a; 选择排序就是按照一定的顺序从选取第一个元素索引开始&#xff0c;将其储存在一个变量值中&#xff0c;根据排序规则比较后边每一个元素与这个元素的大小&#xff0c;根据排序规则需要&#xff0c;变量值的索引值进行替换&#xff0c;一轮遍历之后&#x…...

【数据结构C/C++】双向链表的增删改查

文章目录 CC408考研各数据结构C/C代码&#xff08;Continually updating&#xff09; 对我个人而言&#xff0c;在开发过程中使用的比较多的就是双向链表了。 很多重要的代码优化都会使用到基于双向链表实现的数据机构。 比如我们常用的HashMap&#xff0c;我们知道Key其实是无…...

Godot 添加Nuget 引用

前言 我的Godot 专栏 我在之前的文章中&#xff0c;解决了Visual Studio 如何去调试正在运行的Godot 程序。Godot 对于C# 的支持只剩下一个&#xff0c;那就是Nuget 添加。 Godot VisualStudio外部编辑器设置 添加Nuget Nuget 添加还是非常的容易的。我们直接添加一个最常用的…...

IC工程师职场必备《经典Verilog100多个代码案例》(附下载)

对于IC行业的人员而言&#xff0c;Verilog是最基础的入门&#xff0c;用于数字电路的系统设计&#xff0c;很多的岗位都会用到&#xff0c;可对算法级、门级、开关级等多种抽象设计层次进行建模。 Verilog由于其简单的语法&#xff0c;和C语言的相似性&#xff0c;目前被各大公…...

springboot项目做成公共项目

一&#xff1a;引言 最近碰到个需求&#xff0c;就是把我项目做成一个公共的提供jar包给别人使用&#xff0c;我也是捣鼓了一段时间去研究这个问题&#xff0c;这个东西其实就是A 项目提供jar包给B项目&#xff0c;B项目只要引入A项目的jar包就可以使用A项目的功能。 问题一&…...

RTC 时间、闹钟

实时时钟RTC是一个独立的定时器。RTC模块拥有一个连续计数的计数器&#xff0c;在软件配置下&#xff0c;可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。 在掉电情况下 RTC仍可以独立运行 只要芯片的备用电源…...

【yolo系列:yolov7训练添加spd-conv】

系列文章目录 yolov7训练添加spd-conv 文章目录 系列文章目录一、spd-conv是什么&#xff1f;二、使用步骤1.第一步&#xff1a;先在models/common.py加上2.第二步&#xff1a;models/yolo.py加上2.第三步&#xff1a;修改yolov7的yaml文件 总结 提示&#xff1a;以下是本篇文…...

面向对象设计-UML六种箭头含义

目录 UML概述UML语义UML表示法 六种常用关系标识方法泛化实现依赖关联聚合组合 本文参考文章 https://blog.csdn.net/qq_25091281/article/details/123801862 UML概述 UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以…...

EB Garamond 12免费复古字体:完整指南与快速上手教程

EB Garamond 12免费复古字体&#xff1a;完整指南与快速上手教程 【免费下载链接】EBGaramond12 项目地址: https://gitcode.com/gh_mirrors/eb/EBGaramond12 EB Garamond 12是一款基于16世纪经典Garamond字体设计的开源免费字体&#xff0c;完美复刻文艺复兴时期的印刷…...

终极解决方案:让Mac通过Android USB网络共享高速上网的HoRNDIS驱动

终极解决方案&#xff1a;让Mac通过Android USB网络共享高速上网的HoRNDIS驱动 【免费下载链接】HoRNDIS Android USB tethering driver for Mac OS X 项目地址: https://gitcode.com/gh_mirrors/ho/HoRNDIS 还在为Mac无法直接使用Android手机的USB网络共享功能而烦恼吗…...

macOS 环境安装 Miniconda3 完全指南

macOS 环境安装 Miniconda3 完全指南&#x1f4a1; 摘要: 本文深入讲解了在 macOS 系统上安装 Miniconda3 的完整流程&#xff0c;涵盖环境准备、下载安装、配置优化、虚拟环境管理、常见问题解决等核心内容。结合腾讯地图 Map Skills 开发场景&#xff0c;提供 Python 环境最佳…...

基于工件高度检测的机电传动与控制:factory建模博图v16plc程序的设计任务

机电传动与控制&#xff0c;基于工件高度检测的分拣(A)控制系统设计任务 内容&#xff1a;factory 建模博图 v16plc 程序&#xff08;v16 版本以上均可使用&#xff09;传送带上的金属工件哐当哐当地滑过&#xff0c;突然被机械臂稳稳抓取——这看似简单的动作背后藏着精密的高…...

AI万能分类器应用解析:零样本分类在舆情分析中的实际价值

AI万能分类器应用解析&#xff1a;零样本分类在舆情分析中的实际价值 1. 引言 每天&#xff0c;互联网上产生数以亿计的文本数据——社交媒体评论、新闻报道、用户反馈、论坛讨论...这些数据蕴含着宝贵的舆情信息&#xff0c;但如何从中快速识别关键话题和情感倾向&#xff0…...

Phi-3-mini-4k-instruct-gguf保姆级教程:从CSDN GPU平台访问到结果导出全流程

Phi-3-mini-4k-instruct-gguf保姆级教程&#xff1a;从CSDN GPU平台访问到结果导出全流程 1. 认识Phi-3-mini-4k-instruct-gguf Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本。这个模型特别适合处理问答、文本改写、摘要整理以及简短创作等任务…...

开源CLAP音频分类实战案例:上传MP3/WAV即得语义标签

开源CLAP音频分类实战案例&#xff1a;上传MP3/WAV即得语义标签 1. 项目概述 今天给大家介绍一个特别实用的AI工具——CLAP音频分类服务。这是一个基于LAION CLAP模型的开源项目&#xff0c;能够让你上传任何音频文件&#xff0c;就能自动识别出里面的内容是什么。 简单来说…...

Unity性能优化终极利器:MeshFusion Pro

在现代游戏开发中&#xff0c;性能优化始终是一个核心问题。尤其是在大型场景或高复杂度模型的项目中&#xff0c;Draw Call 过多、顶点数量庞大以及实时生成对象都会严重拖慢游戏帧率&#xff0c;影响用户体验。为了应对这些挑战&#xff0c;Unity 开发者社区中出现了大量优化…...

鸿蒙开发实战:HDC工具在本地模拟器中的高效调试技巧

1. HDC工具入门&#xff1a;鸿蒙开发的瑞士军刀 第一次接触HDC工具时&#xff0c;我把它当成了鸿蒙版的ADB。但用久了才发现&#xff0c;这个看似简单的命令行工具&#xff0c;其实是鸿蒙开发的万能钥匙。HDC全称Huawei Device Connector&#xff0c;就像它的名字一样&#xff…...

论文写作“智多星”:书匠策AI,开启期刊论文新纪元

在学术的广袤天地里&#xff0c;论文写作宛如一场充满挑战的冒险之旅。尤其是期刊论文&#xff0c;它不仅是学者研究成果的集中展现&#xff0c;更是学术交流与进步的重要桥梁。但面对选题迷茫、资料繁杂、结构搭建困难等诸多难题&#xff0c;许多学者常常感到力不从心。别担心…...