vue前端上传图片到阿里云,超详细上传图片教程,OSS,前端直传
2020-06-04 07:44
2031 查看
前端上传图片到阿里云,OSS,超详细上传图片教程
我这里附上阿里云的使用,以获取alioss.js中所需的数据,阿里云上传图片操作
首先是安装依赖复制下面代码即可直接安装
npm install ali-oss
安装过程这里就直接跳过了,这个只是基本操作
接着是进行配置在项目中的src包下的utils包中创建一个alioss.js文件,你也可以跟我一样创建的名字一样,实际上此.js文件可放在任意位置,只不过在导入时的路径会有所不同
在alioss.js文件中写入以下代码
var OSS = require('ali-oss'); export function client() { var client = new OSS({ region: 'oss-cn-shenzhen', accessKeyId: '这里写你自己keyId', accessKeySecret: '这里是你自己的key密码', bucket: 'tw704216987' }) //后端提供数据 return client }
图片中的代码与我贴的代码有所差别,主要原因为版本不一致,图片中的版本较低,需要在后面加上.Wrapper,若你是直接安装的依赖,一般情况下不用加,因为会直接下载最新的依赖,加了反而会出错
此代码不建议直接复制,要根据自己的情况来,可能alioss.js文件放置的包的位置不同而略微有所改变
import { client } from '../../utils/alioss.js';
方法代码
我这里的阿里云的图片设置的是公共读,并不需要签名,所以我赋值的时候是直接赋值的,如果你是个人开发者,也可设置为公共读,理论上来说,没有太大的影响。
Upload(file) { var fileName = 'banner' + `${Date.parse(new Date())}`+'.jpg'; //定义唯一的文件名 //定义唯一的文件名,打印出来的uid其实就是时间戳 client().multipartUpload(fileName, file.file).then( result => { //此处为给自己属性进行赋值,http后面的代码很有可能会和我的不一样,一切与自己阿里云上的数据为准 this.contacts.conImg='http://tw704216987.oss-cn-shenzhen.aliyuncs.com/'+fileName; // 大功搞成 //下面是如果对返回结果再进行处理,根据项目需要,下面是我们自己项目所用的,仅供参考 this.fileList[0] = { 'name': result.name, 'url': result.url } uploadBannerPic(this.fileList).then(res => { //此处为给自己属性进行赋值,http后面的代码很有可能会和我的不一样,一切与自己阿里云上的数据为准 //根据需要可能项目还需对自己的数据库进行保存 this.contacts.conImg='http://tw704216987.oss-cn-shenzhen.aliyuncs.com/'+this.fileList[0].result.name; }) }) }, /** * 图片限制 * 图片限制在理论上来说可以不用写,如果想要简单,可以不写 * 上传图片切记不要过大,可能会导致上传失败 */ beforeAvatarUpload (file) { const isJPEG = file.name.split('.')[1] === 'jpeg'; const isJPG = file.name.split('.')[1] === 'jpg'; const isPNG = file.name.split('.')[1] === 'png'; const isLt500K = file.size / 1024 / 500 < 2; if (!isJPG && !isJPEG && !isPNG) { this.$message.error('上传图片只能是 JPEG/JPG/PNG 格式!'); } if (!isLt500K) { this.$message.error('单张图片大小不能超过 500KB!'); } return (isJPEG || isJPG || isPNG) && isLt500K; }最后是html代码
html代码可以在很多地方找到,我这里是用的elementUI中自带的组件,你也可用自己另找的,这个不同不影响操作
相关文章推荐
- 纯前端使用vue+element+阿里云oss上传图片+分片上传
- vue + element-ui + springboot + 阿里云OSS 使用表单进行图片文件等的上传(具有上传滚动条效果)
- Vue.js上传图片到阿里云OSS存储的方法示例
- vue用阿里云oss上传图片使用分片上传只能上传100kb以内的解决办法
- 阿里云 oss 图片上传解决方案 vue (web直传)
- 实现图片上传至OSS(阿里云)
- Vue使用阿里云OSS上传文件步骤
- vue 上传图片到oss / uniapp上传图片到oss
- 针对PHP环境下Fckeditor编辑器上传图片配置详细教程
- 阿里云OSS图片云存储测试上传
- SpringBoot上传图片到本地和上传到阿里云OSS
- 前端vue传过来的是base64格式(解码变成二进制)的图片怎么做【多图上传】
- Python 从剪贴板上传图片到阿里云Oss
- 图片上传到阿里云oss保存
- springboot 上传图片到阿里云oss 本地测试没有问题,打包部署到阿里云服务器之后(部署在tomcat)上传图片显示空指针异常
- C# .net Ueditor实现图片上传到阿里云OSS 对象存储
- 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径
- 阿里云oss 上传与获取图片、视频等
- ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
- Java中使用RestFul接口上传图片到阿里云OSS服务器