精华内容
下载资源
问答
  • 参考阿里云网站地址: https://help.aliyun.com/document_detail/32068.html?spm=a2c4g.11186623.6.1255.5cd837e8liBsPb element-ui框架地址: ...第一步安装element-ui + ali-oss...

    参考阿里云网站地址:
    https://help.aliyun.com/document_detail/32068.html?spm=a2c4g.11186623.6.1255.5cd837e8liBsPb
    element-ui框架地址:
    https://element.eleme.cn/#/zh-CN/component/installation

    第一步安装element-ui + ali-oss

    npm i element-ui -S
    
    npm i ali-oss
    

    第二步在main.js引入依赖

    import ElementUI from 'element-ui';
    import 'element-ui/lib/theme-chalk/index.css';
    import OSS from 'ali-oss';
    

    第三步使用及修改
    element框架结构层:

    <el-form-item label="视频上传:" prop="video">
    	<el-upload
    		 class="upload-demo"
    		 action=''//需要自定义上传所以这里可以不用写
    		 :before-upload="beforeUploadVideo" //文件上传验证方法
    		 :on-remove="handleVODRemove" //文件删除方法
    		 :http-request="hadhttprequest"//自定义上传方法
    	     multiple
    		 :limit="1" //文件个数限制
    		 :file-list="ruleForm.video"> //文件渲染结构
         <el-button v-if="butstate==0" size="small" type="primary">点击上传 <i class="el-icon-upload el-icon--right"></i></el-button> //上传按钮
    	 <el-button v-else-if="butstate==1" slot="tip" type="info" :loading="true" disabled>视频正在向服务器上传请稍等...</el-button>
    	 <el-button v-else-if="butstate==2" slot="tip" type="success"  disabled>已存在视频,请删除原先视频在进行上传!</el-button>
    	 <div slot="tip" class="el-upload__tip">请保证视频格式正确,且不超过1G</div>
      </el-upload>
    </el-form-item>
    

    数据处理层:

    ruleForm: {
    	name: '',
    	sort:'',
    	introduction:'',
    	cover_img: [],
    	video:[],
    },
    butstate:0
    
    // 视频上传文件验证
    beforeUploadVideo(file) {
    	const isLt1G = file.size / 1024 / 1024 < 1024;
    	if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) == -1) {
    		this.$message.error('请正确上传视频格式');
    		return false;
    	};
    	if (!isLt1G) {
    		this.$message.error('不能超过1G哦!');
    		return false;
    	};
    	this.butstate=1;//项目需要
    },
    //文件删除
    handleVODRemove(file, fileList) {
    	this.ruleForm.video = fileList;
    	this.butstate=0;
    },
    //直接向阿里云上传阿里云
    async getOssToken(data,content){
    	let that = this;
    	// 上传到阿里云视频文件路径名称,你个人爱好,谁也阻挡不聊你,不要用中文,你硬要...
    	let videoName = 'productvideo/66666666/'+Date.parse(new Date())/1000+content.file.name;
    	//我的是用文件夹名+用户id+时间戳文件名,不要问为什么,我喜欢!
    	let client = new OSS({
    		 region: '这个问后台要',
    		 accessKeyId: data.AccessKeyId,
    		 accessKeySecret: data.AccessKeySecret,
    		 stsToken: data.SecurityToken,
    		 bucket:'这个问后台要'
    	 });
    	 //贞子判断
    	 try {
    	 	//multipartUpload这个什么意思看文档,我只告诉你用来直接访问oss
    		let result = await client.multipartUpload(videoName , content.file, {
    			progress: async function (p) {//这是上传进度条
    				content.onProgress({percent: parseInt(p * 100)+'%', returnValue: true });
    				if (p==1) {
    					that.butstate=2;
    				};
    			}
    		 });
    		 //这是文件反馈路径赋值,个人爱好想怎么写怎么写
    		return (that.ruleForm.video[0]  = [result].map(curr =>{//on-change回调的参数
    			return {
    				name:Date.parse(new Date())/1000+content.file.name,
    				url: curr.res.requestUrls[0].split('?')[0],
    				response:curr.res.requestUrls[0].split('?')[0],
    			}
    		})[0]);
    	} catch (e) {
    		 console.log('失败',e)
    		if (e.code === 'ConnectionTimeoutError') {
    			content.onError('视频上传超时')
    			throw "视频上传超时!";
    		}else{
    			content.onError('视频上传失败')
    		}
    	}
    },
    // 视频自定义上传访问授权
    async hadhttprequest(content){
        //这里是用来调用接口请求获取服务端返回阿里云oss验证参数,简单的说问后台那吊毛要接口就可以了!
    	let that=this;
    	//that.getOssToken(res.data.Credentials,content);
    },
    

    //搞事情

    展开全文
  • vue引入js文件时报This dependency was not found:错误 使用了很多方法,原来是这么小的问题,特此记录 解决办法  添加 ./ 转载于:https://www.cnblogs.com/wukaiBK/p/7976789.html...

    vue引入js文件时报This dependency was not found:错误

    使用了很多方法,原来是这么小的问题,特此记录

    解决办法

      添加 ./

    转载于:https://www.cnblogs.com/wukaiBK/p/7976789.html

    展开全文
  • oss 文件存储 前端 vue

    2021-09-24 16:18:27
    //引入oss import OSS from "ali-oss"; //实例化 //填入内容为后端返回数据 let x = new OSS({ region: e.region, accessKeyId: e.accessKeyId, accessKeySecret: e.accessKeySecret, stsToken: e.stsToken, ...

    oss 文件存储 前端 根据后端返回字段进行文件存储

    //引入oss
    import OSS from "ali-oss";
    //实例化
    //填入内容为后端返回数据
    let x = new OSS({
            region: e.region,
            accessKeyId: e.accessKeyId,
            accessKeySecret: e.accessKeySecret,
            stsToken: e.stsToken,
            bucket: e.bucket,
            endpoint: e.endpoint
          });
          //获取当前时间戳加文件后缀名作为文件名
          var name = new Date().getTime() + "." + file.type.split("/")[1];
          //调用实例化后的上传
          //第一个文件名 第二个文件 第三个配置
          x.multipartUpload(name, file, {
            partSize: 1000 * 256,
            timeout: 120000 // 设置超时时间
          }).then(res => {
          //从返回的数据获取url
            let url = res.res.requestUrls[0];
            //将url前后分割获得文件地址
            if (url.indexOf("?") !== -1) {
              url = url.split("?")[0];
            }
          });
        }
    
    展开全文
  • 使用oss上传图片 1、在pom.xml 加入传的依赖 <!--oss阿里云--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version&...

    基于springboot实现oss上传

    1 OSS对象存储
    阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据。

    2 OSS相关概念
    (1)Endpoint:外网访问oss服务器的域名,通过该域名可以访问OSS服务的API,进行文件上传、下载等操作。

    (2)Bucket:存储空间,是存储对象的容器,所有存储对象都必须隶属于某个存储空间。

    (3)Object:对象,对象是 OSS 存储数据的基本单元,也被称为 OSS 的文件(可以是.png,.txt等任意文件)。

    (4)AccessKey:访问密钥,指的是访问身份验证中用到的 AccessKeyId 和 AccessKeySecret。

    3 开通并设置阿里OSS

    3.1 开通OSS服务

    步骤1:登录到阿里云官网;

    步骤2:点击下图所示"对象存储OSS"菜单。
    在这里插入图片描述

    3.2 创建存储空间Bucket

    点击“创建Bucket”按钮。

    在这里插入图片描述
    按照下图填写bucket名称和相关配置后,点击“确认”保存即可!注意:读写权限应当选择“公共读”,否则上传的文件无法访问!
    在这里插入图片描述

    这样,我们的文件存储空间bucket就创建好了。

    在这里插入图片描述
    4 创建accessKeyId和accessKeySecret

    在这里插入图片描述
    在这里插入图片描述

    短信验证后就可以获取到了accessKeyId和accessKeySecret了。

    在这里插入图片描述

    5 基于springboot代码实现oss上传

    5.1 在pom.xml中加入oss依赖

    <dependency>
        <groupId>com.aliyun.oss</groupId>
        <artifactId>aliyun-sdk-oss</artifactId>
        <version>3.1.0</version>
    </dependency>
    

    5.2在properties中加入相关的配置

    uposs.allowed-file-size-max=2MB 文件的大小,可根据需求自行设置
    uposs.allowed-file-suffix=PNG,JPG,JPEG 文件上传的格式
    uposs.aliyun.oss.endpoint=oss-cn-beijing.aliyuncs.com # oss对外服务的访问域名
    uposs.aliyun.oss.bucketName=xxxx-xxxx #bucket的名称
    uposs.aliyun.oss.accessKeyID=LTAI5t9wkfTMvJuVxUEevHpK # 访问身份验证中用到用户标识
    uposs.aliyun.oss.accessKeySecret=n2cSXyT27Qqk0eBETSnSxRJpYLa93O# 用户用于加密签名字符串和oss用来验证签名字符串的密钥
    

    5.3加入工具类,仅供参考

    package com.weishu.weishusystemmanagement.utils;
    
    import com.aliyun.oss.OSSClient;
    import com.aliyun.oss.model.ObjectMetadata;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    import org.springframework.web.multipart.MultipartFile;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.URL;
    import java.util.Date;
    import java.util.Objects;
    import java.util.UUID;
    
    /**
     * OSS工具类 - 阿里云OSS服务器工具类
     *
     */
    @Component
    public class OssUtil {
    
        /*
         * 从配置文件获取阿里云OSS的相关配置
         */
        /**
         * 阿里云OSS的地域节点
         */
        @Value("${uposs.aliyun.oss.endpoint}")
        private String endpoint;
    
        /**
         * 阿里云OSS的存储空间名称
         */
        @Value("${uposs.aliyun.oss.bucketName}")
        private String bucketName;
    
        /**
         * 阿里云OSS的访问秘钥ID
         */
        @Value("${uposs.aliyun.oss.accessKeyID}")
        private String accessKeyID;
    
        /**
         * 阿里云OSS的访问秘钥凭证
         */
        @Value("${uposs.aliyun.oss.accessKeySecret}")
        private String accessKeySecret;
    
        /**
         * 阿里云OSS的存储空间的上传文件的存储目录
         */
    //    @Value("${uposs.aliyun.oss.uploadSaveDir}")
    //    private String uploadSaveDir;
    
        /**
         * 上传文件
         *
         * @param file 上传的文件
         * @return 上传成功之后文件的URL路径
         * @throws IOException IO异常
         */
        public String uploadFile(MultipartFile file) throws IOException {
            //上传图片到OSS
            String fileUrl = uploadImg2OSS(file);
            //获取上传图片到OSS之后的URL路径
            String str = getURL(fileUrl);
            return str.trim();
        }
    
        /**
         * 上传图片到OSS
         *
         * @param file 上传的文件
         * @return 上传文件的新的名称
         * @throws IOException IO异常
         */
        @SuppressWarnings("deprecation")
        private String uploadImg2OSS(MultipartFile file) throws IOException {
            // 1.生成新的文件名称(以防止文件名称重复)
            String fileName = file.getOriginalFilename();
            String suffix = Objects.requireNonNull(fileName).substring(fileName.lastIndexOf(".")).toLowerCase();
            String uuid = UUID.randomUUID().toString().replace("-", "");
            String lastName = uuid + suffix;
    
            // 2.上传文件到OSS
            InputStream inputStream = file.getInputStream();
            // 2.1创建上传的Object的metadata
            ObjectMetadata objectMetadata = new ObjectMetadata();
            objectMetadata.setContentLength(inputStream.available());
            objectMetadata.setCacheControl("no-cache");
            objectMetadata.setHeader("Pragma", "no-cache");
            objectMetadata.setContentType(FileUtil.getContentType(lastName.substring(lastName.lastIndexOf("."))));
            objectMetadata.setContentDisposition("inline;filename=" + lastName);
    
            //解决不能预览文件
            objectMetadata.setContentType("image/jpg");
    
            // 2.2上传文件
            OSSClient ossClient = new OSSClient(endpoint, accessKeyID, accessKeySecret);
            ossClient.putObject(bucketName,  lastName, inputStream, objectMetadata);
            inputStream.close();
            return lastName;
        }
    
        /**
         * 获得URL链接
         *
         * @param lastName 上传文件的新的名称
         * @return 文件上传成功之后文件的URL路径
         */
        @SuppressWarnings("deprecation")
        private String getURL(String lastName) {
            // 设置URL的过期时间为20年, 即: 20*365*24*60*60*1000L 毫秒
            Date expiration = new Date(new Date().getTime() + 20*365*24*60*60*1000L);
            // 生成URL
            OSSClient ossClient = new OSSClient(endpoint, accessKeyID, accessKeySecret);
            URL url = ossClient.generatePresignedUrl(bucketName, lastName, expiration);
            // 去除URL的参数
            String tmp = url.toString().split("\\?")[0];
            int index = tmp.lastIndexOf("/") + 1;
            return tmp.substring(0, index)  + tmp.substring(index);
        }
    
    
    
    }
    

    5.4 前端访问controller返回上传oss后的文件路径

    package com.weishu.weishusystemmanagement.controller;
    
    import com.weishu.weishusystemmanagement.utils.OssUtil;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.multipart.MultipartFile;
    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    @RestController
    @RequestMapping("/ossUpload")
    public class OssUploadController {
    
        @Autowired
        OssUtil ossUtil; //引入工具类
    
        @RequestMapping("/upload")
        public String upload(MultipartFile file) throws IOException {
            String fileUrl = ossUtil.uploadFile(file); //调用上传的方法
            return fileUrl;//返回上传后的路径
        }
      }
    
    展开全文
  • Vue上传文件OSS

    千次阅读 2019-06-18 21:58:21
    aliyun-oss-sdk 引入### <script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min.js"></script> 注意:这里看网上有朋友说不能用npm install ali-oss --save的方式用于前端页面的使用,...
  • vue element 阿里云OSS 文件上传

    千次阅读 2020-05-04 16:23:38
    element组件 <el-upload ... :show-file-list="false" // 不显示文件上传列表 drag action accept="image/gif, image/jpeg" // 文件格式 :http-request="handleUpload" // 文件上传函数...
  • 首先引入依赖: <!-- Oss需要的jar包--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.8.0</ver
  • 有关其他的一些引入文件,我后续会补上,都是一些依赖! ####修改了一个问题,安卓微信页面打开提示:没有应用执行次操作! ####优化代码逻辑,可以直接服用随便修改 ####删除无用的代码及默认值 还是老样子先...
  • VUE OSS 下载

    2020-04-30 18:04:27
    触发ossDownloadFile(objectKey);此函数 ----------------------------------------------------------------------------------------- //创建OSS客户端对象 createOssClientTemp(){ ...
  • Web端常见的上传方法是用户在浏览器或APP端上传文件到应用服务器,应用服务器再把文件上传到OSS。这种方式需通过应用服务器中转,传输效率明显低于数据直转至OSS的方式。 本文主要为:在客户端通过JavaScript代码...
  • Vue中将文件上传至OSS

    2020-08-11 14:58:05
    const OSS = require('ali-oss') export function client(data) { return new OSS({ region: 'oss-cn-shanghai', // oss-cn-shenzhen.aliyuncs.com accessKeyId: 'LTAI4G7cccHmBUPucagmboie', accessKeySecret:...
  • Vue使用阿里云OSS上传文件步骤

    千次阅读 2019-12-01 13:51:44
    cnpm install ali-oss 步骤二:安装完成后,在配置文件中调用和配置参数 新建一个配置文件aliOss.js 可使用 import 或 require 进行引用 //调用阿里云OSS const OSS = require('ali-oss'); export function ...
  • 前端vue 配合ali-oss上传文件到阿里云

    千次阅读 2020-05-26 14:51:22
    3.调用接口获取阿里云OSS的region、accessKeyId、accessKeySecret、bucket以及要存放的文件夹名称(就是下面第五步中使用当前时间拼接完整的文件名称的filePath) 4.使用 let client = new OSS({ region: region,...
  • vue-前端oss直传

    千次阅读 2018-03-03 12:31:25
    vue框架中使用oss直传,前端直接调oss接口,服务端直接将所有文件存在同一个目录下(提高效率),之所以网页上看到有文件夹的区分,是因为根据前端命名方式(一般是自定义文件夹名字加文件名字加时间搓)来制造有...
  • Vue使用阿里SDK上传文件OSS1.安装依赖2.代码 这个是一个Vue中用阿里云提供的SDK实现上传文件OSS的demo,只有功能实现,没有美观度可言,希望给大家提供一点帮助 1.安装依赖 npm install ali-oss --save 2.代码 ...
  • vue oss 上传图片

    千次阅读 2019-03-20 21:12:48
    今天 有人问阿里云的上传图片的问题。 我就去查看了下,阿里云的上传分为表单上传,普通上传,点断上传(分片上传)。 这次主要是使用普通上传,来做...第二步:我这项目是使用vue写的。所以我使用npm install al...
  • 安装 ali-oss npm install ali-oss 实例 // 封装方法 oss.js import OSS from 'ali-oss';...import ossClient from '对应文件地址/oss.js'; // 调用 let uploadConf = { region: null, // oss-cn-bei
  • 当前前后端开发已经十分普及了,大文件一般都保存到OSS服务器,不会保存到自己的主页服务器,OSS文件服务器+tomcat为业务服务器+VUE/Ract/小程序前端服务器的三层后台架构是当前最主流的架构设计,因此必须解决这...
  • 2.在项目目录添加oss.js文件 module.exports = { region: 'oss服务器区域', // 例如:oss-cn-beijing accessKeyId: 'accessKeyId', accessKeySecret: 'accessKeySecret', bucket: 'bucket' } 对vue....
  • 关于Vue项目中上传文件到阿里云OSS

    千次阅读 2017-11-16 07:17:56
    关于Vue项目中上传文件到阿里云OSS 前言本文主要讲述在使用 Vue 开发的过程中,使用到阿里云 OSS 功能。 源码github: alioss-js-upload Useage $ git clone https://github.com/taosin/alioss-js-upload.git //...
  • 本文介绍了vue页面使用...1.前端页面中需要引入oss-sdk: [removed][removed] 2.自己封装的upload组件: <div class=oss_file> <input type=file :id=id :multiple=multiple @change=doUpload/> </div
  • 解决vue文件引入时间,后端数据库显示时间少一天 少一天,是由于我们传入的时间是我们的当前的时间,但是当我们获取之后,我们获取的时间就是一个格林的时间,这就会造成,我们当前的时间从我们当前进行计算减少八...
  • 引入阿里云oss的js <script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min.js"></script> <input type="file" name="file" @change='selectFile' multiple=...
  • vue项目中使用OSS上传图片和附件vue项目中使用OSS上传图片或附件1、新建oss.js文件,封装使用oss2、页面中使用oss.js vue项目中使用OSS上传图片或附件 上传图片和附件这里不做区别;上传的流程都一样; 1、新建oss....
  • vue打包上传到阿里OSS

    2019-11-15 16:26:30
    1, 引入ali-oss npm i ali-oss --save 2,在build文件下创建uploadOSS.js let OSS = require('ali-oss') var fs = require('fs'); var delList = [] var bucket = '' if (process.env.env_config==='test'...
  • 2.安装完事之后,进行引入并进行oss的初始化,这里把初始化和后面用到的UUID生成规则放在一起,ali-oss.js文件 // 引入ali-oss let OSS = require('ali-oss') /** * [accessKeyId] {String}:通过阿里云控制台创建...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,177
精华内容 470
关键字:

vue引入oss文件

vue 订阅