oss 订阅
OSS(Operation Support Systems)系统即操作支持系统,是电信业务开展和运营时所必需的支撑平台。OSS是电信运营商的一体化、信息资源共享的支持系统,它主要由网络管理、系统管理、计费、营业、账务和客户服务等部分组成,系统间通过统一的信息总线有机整合在一起。操作与支持系统包括操作维护中心和网络管理中心。它负责全网的通信质量及运行的检验和管理,记录和收集全网运行中的各种数据的情况。它对全网内各设备之间都有连接线,并对各设备执行监视和控制的职能。 [1] 展开全文
OSS(Operation Support Systems)系统即操作支持系统,是电信业务开展和运营时所必需的支撑平台。OSS是电信运营商的一体化、信息资源共享的支持系统,它主要由网络管理、系统管理、计费、营业、账务和客户服务等部分组成,系统间通过统一的信息总线有机整合在一起。操作与支持系统包括操作维护中心和网络管理中心。它负责全网的通信质量及运行的检验和管理,记录和收集全网运行中的各种数据的情况。它对全网内各设备之间都有连接线,并对各设备执行监视和控制的职能。 [1]
信息
领    域
电信技术
简    称
OSS
特    点
多业务性、自动性等
中文名
操作支撑系统
功    能
运营支持和准备、业务实现等
外文名
Operation Support System
OSS特点
OSS系统与既有业务系统设备的网管不同,它是跨业务的、端到端全过程的管理。OSS系统具有如下特点:(1)多业务性。OSS系统不是针对单一业务进行管理,而是对多业务实行集中综合管理。(2)全程性。OSS系统是对业务、网络实行全过程管理,包括业务受理、链路选择、端口配置、业务变更、业务计费、监测维护等运营全过程。(3)自动性。OSS系统摈弃了过去的人工作业,采用自动化方式进行管理,以减少人工干预,减少差错率。(4)实时性。通过自动化管理,提高工作效率、减少响应时间,在当前服务质量已成为企业成功关键要素的环境下,及时满足用户需求,可提高客户或者合作伙伴的满意度。(5)灵活性。由于各应用系统的特性不尽相同,因而对集成后应用的灵活性要求比较高,其构架能便于增加新的系统以及既有系统的扩充。(6)可管理性。在系统的运行中,能及时发现出现的错误并予以修正。 [2] 
收起全文
精华内容
下载资源
问答
  • OSS

    千次阅读 2016-10-28 10:07:00
    OSS :Object

    1.什么是OSS

    OSS 对象存储(Object Storage Service,简称OSS),传统的物理存储 ----- 对象存储(云产品),阿里云提供的云存储服务,具有海量、安全、高可用性、低成本的特性;按量缴费即可支持Restful API,弹性扩展、按需分配、只要用来存储图片、视频、文件等非结构化数据;支持任何类型的文件存储

    2.OSS的特点

     可靠

    。服务可用性不低于99.99%

    。规模自动扩展,不影响对外服务

    。数据持久性不低于99.99999999%。数据自动多冗余备份

     安全

    。提供企业级多层次安全防护,多用户资源隔离机制;支持跨区域复制,多机房容灾机制。

    。提供多种鉴权和授权机制及白名单、防盗链、主子帐号功能

    成本

    高性价比最低只需每月0.14/GB/月

    。多线BGP骨干网络,无带宽限制,上行流量免费

    。无需运维人员与托管费用,0成本运维

    数据处理能力

    提供图片处理、音频转码、内容分发加速、鉴黄服务、归档服务等多种数据增值服务,并不断丰富中

    3.OSS对象存储的架构



    4. OSS 的基本概念

    • object: 任何一个文件都叫做object;put object 最大是5G,multipart  方式上传最大是48.8T
    • bucket: 任何一个文件都放在buket 中,一个用户最多申请10个buket;每个bucket 最多放2PB 的文件,一个应用可以有多个bucket
    • service:提供给用户的虚拟存储空间,可以在这个空间中存储多个bucket
    • Accessid  AccessKey:用来标识用户的

    展开全文
  • 使用阿里云OSS存储文件

    万次阅读 2020-10-31 23:46:36
    使用阿里云OSS存储文件 创建 bucket 创建 RAM 账号 创建 用户组,并授予 OSS 相关权限,将刚刚创建的 RAM 账号添加进该用户组

    使用阿里云OSS存储文件

    • 创建 bucket (存储空间)

    存储类型选择 低频访问存储
    同城冗余存储选择 关闭
    版本控制选择 不开通
    读写权限选择 公共读写
    服务端加密方式选择
    实时日志查询选择 不开通
    在这里插入图片描述


    • 创建 RAM 账号

    勾选 控制台访问编程访问
    控制台密码选择 自动生成默认密码
    要求重置密码选择 无需重置
    多因素认证选择 无需开启
    在这里插入图片描述

    • 确定创建后,将进入以下页面,注意保存 AccessKey 信息(关闭该页面后将不再显示)

    在这里插入图片描述


    • 创建 用户组,并授予 OSS 相关权限,将刚刚创建的 RAM 账号添加进该用户组
      在这里插入图片描述
      在这里插入图片描述
    • 在项目中添加以下依赖:
    <dependency>
    	<groupId>com.aliyun.oss</groupId>
    	<artifactId>aliyun-sdk-oss</artifactId>
    	<version>3.10.2</version>
    </dependency>
    <dependency>
    	<groupId>joda-time</groupId>
    	<artifactId>joda-time</artifactId>
    	<version>2.9.9</version>
    </dependency>
    
    • 在application.yml 中添加 endpoint 和 accessKey 相关信息

    注:endpoint 必须与 创建的 bucket 所在区域保持一致,我这里选择的是杭州节点

    alioss: 
      endpoint: oss-cn-hangzhou.aliyuncs.com
      accessKeyId: LTAI4G8eXoyQNb7iJ7ZyyWkL
      accessKeySecret: pwnebkgnxaTjjP21EFoeFaFdCmWeUD
      bucketName: blu-bucket-test
    

    可以在之前创建的 bucket 中查找到 与之对应的 endpoint 信息:
    在这里插入图片描述

    • 创建 OssEntity 实体类,绑定配置文件中的 accessKey 信息,并加上 @Component 注解
    @Data
    @Component
    @ConfigurationProperties(prefix = "alioss")
    public class OssEntity {
    	
    	private String endpoint;
    	private String accessKeyId;
    	private String accessKeySecret;
    	private String bucketName;
    
    }
    
    • AliOssService 接口
    package com.blu.service;
    
    import java.io.IOException;
    
    import org.springframework.web.multipart.MultipartFile;
    
    public interface AliOssService {
    	
    	/**
    	 * 创建存储空间bucket
    	 */
    	void createBucket();
    	
    	/**
    	 * 上传文件
    	 */
    	String upload(MultipartFile file);
    	
    	/**
    	 * 下载文件
    	 */
    	void download(String fileName) throws IOException;
    
    	/**
    	 * 列举文件
    	 */
    	void listFile();
    	
    	/**
    	 * 删除文件
    	 */
    	void deleteFile(String fileName);
    
    }
    
    • AliOssServiceImpl
    package com.blu.service.Impl;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Date;
    import java.util.UUID;
    
    import org.joda.time.DateTime;
    import org.springframework.beans.factory.InitializingBean;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import org.springframework.web.multipart.MultipartFile;
    
    import com.aliyun.oss.OSS;
    import com.aliyun.oss.OSSClientBuilder;
    import com.aliyun.oss.model.CannedAccessControlList;
    import com.aliyun.oss.model.OSSObjectSummary;
    import com.aliyun.oss.model.ObjectListing;
    import com.aliyun.oss.model.ObjectMetadata;
    import com.blu.entity.OssEntity;
    import com.blu.service.AliOssService;
    
    @Service
    public class AliOssServiceImpl implements AliOssService,InitializingBean {
    	
    	@Autowired
    	private OssEntity ossEntity;
    
    	private String endpoint;
    	private String accessKeyId;
    	private String accessKeySecret;
    	private String bucketName;
    
    	/**
    	 * 初始化Bean之后需要进行的操作
    	 */
    	@Override
    	public void afterPropertiesSet() throws Exception {
    		endpoint = ossEntity.getEndpoint();
    		accessKeyId = ossEntity.getAccessKeyId();
    		accessKeySecret = ossEntity.getAccessKeySecret();
    		bucketName = ossEntity.getBucketName();
    	}
    	
    	@Override
    	public void createBucket() {
    		OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId,accessKeySecret);
    		if(ossClient.doesBucketExist(bucketName)) {
    			throw new RuntimeException(bucketName+ "在对象存储的Bucket列表中已经存在");
    		} else {
    			ossClient.createBucket(bucketName);
    		}
    		ossClient.shutdown();
    	}
    
    	@Override
    	public String upload(MultipartFile file) {
    		String uploadUrl = null;
            try {
                OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
                if(!ossClient.doesBucketExist(bucketName)){
                    //创建Bucket
                    ossClient.createBucket(bucketName);
                    //设置bucket的属性为公共读
                    ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
                }
                //获取上传的文件流
                InputStream inputStream = file.getInputStream();
                //构建日期的文件夹路径    avator/2020/10/14/文件名
                String datePath = new DateTime().toString("yyyy/MM/dd");
                //获取上传文件的全名称
                String originalFilename = file.getOriginalFilename();
                //获取UUID,并去除横杠    a98059d4-633c-4b55-b310-93c997cf8038
                String fileName = UUID.randomUUID().toString().replaceAll("-", "");
                //获取上传文件的扩展名
                String fileType = originalFilename.substring(originalFilename.lastIndexOf("."));
                //拼接文件名称
                String newName = fileName + fileType;
                //生成文件夹+文件名    avator/2020/10/14/a98059d4633c4b55b31093c997cf8038.jpg
                fileName = datePath + "/" + newName;
                //如果想要实现图片预览的效果,一定要设置以下几点:
                //1.设置文件的ACL(权限)为公共读或公共读写
                //2.设置文本类型(image/jpg)
                ObjectMetadata objectMetadata = new ObjectMetadata();
                objectMetadata.setObjectAcl(CannedAccessControlList.PublicRead);
                objectMetadata.setContentType(getContentType(fileType));
                //上传文件
                ossClient.putObject(bucketName,fileName,inputStream,objectMetadata);
                //关闭ossClient
                ossClient.shutdown();
                //默认十年不过期
                Date expiration = new Date(System.currentTimeMillis() + 3600L * 1000 * 24 * 365 * 10);
                uploadUrl = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return uploadUrl.substring(0,uploadUrl.indexOf("?"));
    	}
    
    	@Override
    	public void download(String fileName) throws IOException {
    		
    	}
    
    	@Override
    	public void listFile() {
    		OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
            ObjectListing objectListing = ossClient.listObjects(bucketName);
            for (OSSObjectSummary ossObjectSummary : objectListing.getObjectSummaries()) {
                System.out.println("-"+ossObjectSummary.getKey()+" "+"(size = "+ ossObjectSummary.getSize() + ")");
            }
            //关闭ossClient
            ossClient.shutdown();
    	}
    
    	@Override
    	public void deleteFile(String fileName) {
    		String objectName = fileName;
            OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
            ossClient.deleteObject(bucketName,objectName);
            ossClient.shutdown();
    	}
    	
    	public static String getContentType(String FilenameExtension) {
            if (FilenameExtension.equalsIgnoreCase(".bmp")) {
                return "image/bmp";
            }
            if (FilenameExtension.equalsIgnoreCase(".gif")) {
                return "image/gif";
            }
            if (FilenameExtension.equalsIgnoreCase(".jpg")) {
                return "image/jpg";
            }
            if (FilenameExtension.equalsIgnoreCase(".png")) {
                return "image/png";
            }
            if (FilenameExtension.equalsIgnoreCase(".jpeg")) {
                return "image/jpeg";
            }
            if (FilenameExtension.equalsIgnoreCase(".vsd")) {
                return "application/vnd.visio";
            }
            if (FilenameExtension.equalsIgnoreCase(".pptx")) {
                return "application/vnd.ms-powerpoint";
            }
            if (FilenameExtension.equalsIgnoreCase(".ppt")) {
                return "application/vnd.ms-powerpoint";
            }
            if (FilenameExtension.equalsIgnoreCase(".docx")) {
                return "application/msword";
            }
            if (FilenameExtension.equalsIgnoreCase(".doc")) {
                return "application/msword";
            }
            if (FilenameExtension.equalsIgnoreCase(".xml")) {
                return "text/xml";
            }
            if (FilenameExtension.equalsIgnoreCase(".html")) {
                return "text/html";
            }
            if (FilenameExtension.equalsIgnoreCase(".txt")) {
                return "text/plain";
            }
            return "text/plain";
        }
    
    }
    
    展开全文
  • 偶然看到阿里推出存储对象OSS,这相当于一个开放接口的云盘,可以配合程序存储文件,因为搞活动,1T空间使用3年为99元。 关于oss的使用收费需要说一下: 对象存储OSS服务的基础计费项包括:存储容量,流量,请求...

    我在阿里云购买过ECS云服务器,打算做一个图片和视频展示的网站,而我的服务器内存只有40G,这远远不够。

    偶然看到阿里推出存储对象OSS,这相当于一个开放接口的云盘,可以配合程序存储文件。

    oss购买地址:https://www.aliyun.com/product/oss?userCode=euvewyh4

    关于oss的使用收费需要说一下:

    对象存储OSS服务的基础计费项包括:存储容量,流量,请求次数。此外,OSS还提供存储数据处理服务(如图片处理服务等),会根据您的使用情况单独计量计费,不使用不计费。

    我买的是3年存储包,所以存储容量费用已交,但外网访问资源产生的流量费用和请求次数需要额外缴费,内网访问资源也就是从阿里云服务器ecs中访问倒是流量免费。

    价格详情在这个网址 https://cn.aliyun.com/price/product?spm=a2c4g.11186623.2.11.606a618dQvu9Hc#/oss/detail 

    如果你已经有了ecs服务器,怎么做才能做到访问oss资源走服务器的内网从而免去下行流量费用呢?

    查看这个网址 https://help.aliyun.com/document_detail/31834.html?spm=a2c4g.11186623.2.16.20c463fdVkjRIy

    https://blog.csdn.net/lianzhang861/article/details/108998904

    1.首先购买OSS,进入控制台

    2.要使用oss,需要先创建bucket

    目前,同一地域下每个账号最多可创建30个Bucket。Bucket 的容量无上限,且OSS的读写效率不会因为单个目录下存在大量文件而受到影响,每个bucket可以看做一个文件夹吧。

    3.然后需要获取accesskeyid和accesssecret,这相当于账号和密码

    获取方法看这篇文章 如何获取阿里云oss所需的accesskeyid和accesssecret

    生成的id要自己记住

    4.设置权限

    点击新建的bucket,在基础设置里设置一下读写权限,因为我做的是展示型网站,所以我设置了公共可读

    5.绑定域名

    因为上传的文件路径的域名为阿里云oss开头的,不够美观,我想换成我的网站域名,这就需要绑定一个域名

    要绑定域名,我需要先新建一个专门对接oss的三级域名

    打开域名管理>解析域名>添加记录

    可以看到CNAME类型为将此域名指向另一个域名,我要做的就是把我的域名指向oss域名,所以选择CNAME,

    我为我的域名添加三级域名oss,并指向记录值为oss的域名,点击确定,完成三级域名的创建。

     然后回到oss控制台在域名管理点击绑定用户域名,然后输入刚才生成的三级域名即可。

    这样就可以把oss的域名换成我自己的域名访问了。

     

    6.创建文件夹

    这样基本就结束了,在文件管理中添加几个文件夹,为后期java上传文件做准备。

    展开全文
  • OSS browser

    2019-04-07 10:42:48
    阿里云 OSS browser 方便对阿里云的oss进行上传下载。 阿里云的访问控制台下载oss的数据时,经常丢文件,这个工具,界面化,很好的解决了这个问题。
  • OSS(一):OSS工具类

    万次阅读 多人点赞 2018-01-13 21:29:03
    【前言】 我们上家公司的存储系统用的是FastDFS(智能一代云平台(二十八...现在在职的公司用的是阿里云的OSSOSS的官方文档),在工作的时候整理一个上传OSS文件的工具类,现在与大家分享一下。 【工具类】 ...

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan

    【前言】

           我们上家公司的存储系统用的是FastDFS(智能一代云平台(二十八):对前后端分离和FastDFS的使用的再理解);现在在职的公司用的是阿里云的OSS(OSS的官方文档),在工作的时候整理一个上传OSS文件的工具类,现在与大家分享一下。

    【工具类】

           1、工具类的代码:

    package zhanghan.oss.utils;
    
    import com.aliyun.oss.ClientException;
    import com.aliyun.oss.OSSClient;
    import com.aliyun.oss.OSSException;
    import com.aliyun.oss.model.ObjectMetadata;
    import com.aliyun.oss.model.PutObjectResult;
    import com.fasterxml.jackson.annotation.JsonValue;
    import org.apache.commons.io.FilenameUtils;
    import org.apache.commons.lang3.time.DateUtils;
    import org.springframework.util.StringUtils;
    import org.springframework.web.multipart.MultipartFile;
    import zhanghan.oss.exception.OSSCreateBucketRuntimeException;
    import zhanghan.oss.exception.OSSGeneratePresignedUrlRuntimeException;
    import zhanghan.oss.exception.OssPutObjectRuntimeException;
    import java.io.InputStream;
    import java.net.URL;
    import java.util.Date;
    import java.util.UUID;
    
    /**
     * OSS上传工具类-张晗-2017/10/10
     */
    public class OSSUtil {
        private volatile static OSSClient instance;
    
        private OSSUtil() {
        }
    
        /**
         * 单例
         * @return  OSS工具类实例
         */
        private static OSSClient getOSSClient() {
            if (instance == null) {
                synchronized (OSSUtil.class) {
                    if (instance == null) {
                        instance = new OSSClient(OSS_END_POINT, OSS_ACCESS_KEY_ID, OSS_ACCESS_KEY_SECRET);
                    }
                }
            }
            return instance;
        }
    
        //定义日志
        private final static LogUtils logger = LogUtils.getLogger(OSSUtil.class);
        //OSS 的地址
        private final static String OSS_END_POINT = "http://oss-cn-qingdao.aliyuncs.com";
        //OSS 的key值
        private final static String OSS_ACCESS_KEY_ID = "OSSKEY";
        //OSS 的secret值
        private final static String OSS_ACCESS_KEY_SECRET = "OSSSECRET";
        //OSS 的bucket名字
        private final static String OSS_BUCKET_NAME = "zhanghan-test";
        //设置URL过期时间为10年
        private final static Date OSS_URL_EXPIRATION = DateUtils.addDays(new Date(), 365 * 10);
    
        //文件路径的枚举
        public enum FileDirType {
            ZHANGHAN_TEST("test");
            private String dir;
    
            FileDirType(String dir) {
                this.dir = dir;
            }
    
            @JsonValue
            public String getDir() {
                return dir;
            }
        }
    
        /**
         * 上传文件---去除URL中的?后的时间戳
         * @param file 文件
         * @param fileDir 上传到OSS上文件的路径
         * @return 文件的访问地址
         */
        public static String upload(MultipartFile file, FileDirType fileDir) {
            OSSUtil.createBucket();
            String fileName = OSSUtil.uploadFile(file, fileDir);
            String fileOssURL = OSSUtil.getImgUrl(fileName, fileDir);
            int firstChar = fileOssURL.indexOf("?");
            if (firstChar > 0) {
                fileOssURL = fileOssURL.substring(0, firstChar);
            }
            return fileOssURL;
        }
    
    
        /**
         * 当Bucket不存在时创建Bucket
         *
         * @throws OSSException 异常
         * @throws ClientException Bucket命名规则:
         *                         1.只能包含小写字母、数字和短横线,
         *                         2.必须以小写字母和数字开头和结尾
         *                         3.长度在3-63之间
         */
        private static void createBucket() {
            try {
                if (!OSSUtil.getOSSClient().doesBucketExist(OSS_BUCKET_NAME)) {//判断是否存在该Bucket,不存在时再重新创建
                    OSSUtil.getOSSClient().createBucket(OSS_BUCKET_NAME);
                }
            } catch (Exception e) {
                logger.error("{}", "创建Bucket失败,请核对Bucket名称(规则:只能包含小写字母、数字和短横线,必须以小写字母和数字开头和结尾,长度在3-63之间)");
                throw new OSSCreateBucketRuntimeException("创建Bucket失败,请核对Bucket名称(规则:只能包含小写字母、数字和短横线,必须以小写字母和数字开头和结尾,长度在3-63之间)");
            }
        }
    
    
        /**
         * 上传到OSS服务器  如果同名文件会覆盖服务器上的
         * @param file 文件
         * @param fileDir  上传到OSS上文件的路径
         * @return 文件的访问地址
         */
        private static String uploadFile(MultipartFile file, FileDirType fileDir) {
            String fileName = String.format(
                    "%s.%s",
                    UUID.randomUUID().toString(),
                    FilenameUtils.getExtension(file.getOriginalFilename()));
            try (InputStream inputStream = file.getInputStream()) {
                //创建上传Object的Metadata
                ObjectMetadata objectMetadata = new ObjectMetadata();
                objectMetadata.setContentLength(inputStream.available());
                objectMetadata.setCacheControl("no-cache");
                objectMetadata.setHeader("Pragma", "no-cache");
                objectMetadata.setContentType(getContentType(FilenameUtils.getExtension("." + file.getOriginalFilename())));
                objectMetadata.setContentDisposition("inline;filename=" + fileName);
                //上传文件
                PutObjectResult putResult = OSSUtil.getOSSClient().putObject(OSS_BUCKET_NAME, fileDir.getDir() + fileName, inputStream, objectMetadata);
                return fileName;
            } catch (Exception e) {
                logger.error("{}", "上传文件失败");
                throw new OssPutObjectRuntimeException("上传文件失败");
            }
        }
    
    
        /**
         * 获得文件路径
         * @param fileUrl  文件的URL
         * @param fileDir  文件在OSS上的路径
         * @return 文件的路径
         */
        private static String getImgUrl(String fileUrl, FileDirType fileDir) {
            if (StringUtils.isEmpty(fileUrl)) {
                logger.error("{}", "文件地址为空");
                throw new RuntimeException("文件地址为空");
            }
            String[] split = fileUrl.split("/");
    
            //获取oss图片URL失败
            URL url = OSSUtil.getOSSClient().generatePresignedUrl(OSS_BUCKET_NAME, fileDir.getDir() + split[split.length - 1], OSS_URL_EXPIRATION);
            if (url == null) {
                logger.error("{}", "获取oss文件URL失败");
                throw new OSSGeneratePresignedUrlRuntimeException("获取oss文件URL失败");
            }
            return url.toString();
        }
    
        /**
         * 判断OSS服务文件上传时文件的contentType
         *
         * @param FilenameExtension 文件后缀
         * @return 后缀
         */
        private static String getContentType(String FilenameExtension) {
            if (FilenameExtension.equalsIgnoreCase("bmp")) {
                return "image/bmp";
            }
            if (FilenameExtension.equalsIgnoreCase("gif")) {
                return "image/gif";
            }
            if (FilenameExtension.equalsIgnoreCase("jpeg") ||
                    FilenameExtension.equalsIgnoreCase("jpg") ||
                    FilenameExtension.equalsIgnoreCase("png")) {
                return "image/jpeg";
            }
            if (FilenameExtension.equalsIgnoreCase("html")) {
                return "text/html";
            }
            if (FilenameExtension.equalsIgnoreCase("txt")) {
                return "text/plain";
            }
            if (FilenameExtension.equalsIgnoreCase("vsd")) {
                return "application/vnd.visio";
            }
            if (FilenameExtension.equalsIgnoreCase("pptx") ||
                    FilenameExtension.equalsIgnoreCase("ppt")) {
                return "application/vnd.ms-powerpoint";
            }
            if (FilenameExtension.equalsIgnoreCase("docx") ||
                    FilenameExtension.equalsIgnoreCase("doc")) {
                return "application/msword";
            }
            if (FilenameExtension.equalsIgnoreCase("xml")) {
                return "text/xml";
            }
            return "image/jpeg";
        }
    }

           2、调用工具类的代码:

       /**
         * 上传文件测试
         * @param multipartFile 待上传的文件
         * @return  上传在OSS文件的访问路径
         * @throws BusinessException  上传异常
         */
        public String uploadTest(MultipartFile multipartFile) throws BusinessException{
            try {
                uploadResult = OSSUtil.upload(multipartFile, OSSUtil.FileDirType.ZHANGHAN_TEST);
            } catch (Exception e) {
                LoggerUtil.logService(LoggerUtil.spManualLoan, "SPManualLoanServiceImpl-submitLoan", "call OSSUtil.upload; Exception:" + e.getMessage());
                throw new BusinessException(WrongMessageEnum.EXCEPTION_STORE);
            }
            return uploadResult;
        }

           3、问题&解决:

              (1) 问题:通过URL在浏览器中访问时报如下错:

      

              (2)解决方案:在阿里云的控制台上,进入OSS的设置界面,将Bucket的访问权限由 私有 设置为 公共读

    【总结】

           阿里云现在很多公司都在用,阿里云稳定,安全,相对来说成本更低;给自己更多思考的是如何让项目减少成本,以及阿里云等带来的商业模式。

    展开全文
  • aliyun oss

    千次阅读 2020-05-26 19:38:18
    import com.aliyun.oss.OSSClient; import com.aliyun.oss.model.OSSObject; import com.aliyun.oss.model.PutObjectResult; import com.mtons.mblog.base.utils.ImageUtils; import com.upyun.UpYunUtils; import ...
  • 经过一番纠结,最后决定,项目所有的文件资源还是单独放阿里云的oss上比较好,以下是这个文件系统的微服务模块搭建过程。 0x01.OSS概述 全称阿里云对象存储OSS 阿里云oss其实就是阿里云提供的类型云盘的服务,...
  • 阿里OSS安装包

    2018-09-28 12:38:11
    阿里OSS安装包
  • OSS之访问控制

    千次阅读 2017-08-20 18:02:55
    OSS
  • CentOS下安装阿里云OSS模拟器 oss-emulator 阿里云OSS配置1、下载oss-emulator2、安装oss模拟器安装ruby安装相关插件运行oss模拟器创建bucket3、其他,使用阿里云OSS配置1.创建bucket,配置跨域规则。跨域规则如下...
  • OSS上传

    2018-07-18 18:58:10
    import com.aliyun.oss.ClientException; import com.aliyun.oss.OSSClient; import com.aliyun.oss.OSSException; import com.aliyun.oss.model.*; import java.io.*; import java.util.ArrayList; import java.u....
  • 阿里云oss客户端

    2017-12-25 17:32:04
    阿里云oss客户端阿里云oss客户端阿里云oss客户端阿里云oss客户端阿里云oss客户端阿里云oss客户端
  • OSS 监控

    2018-10-25 15:15:28
    OSS 和云监控是两个独立的产品,但是 OSS 控制台上看到的存储容量监控以及贷款流量监控来自于云监控产品的数据。 OSS 的监控数据延迟 2-3 小时,同时云监控在采集 OSS 数据时存在窗口期,比如 5 分钟,如果超过窗口...
  • 安装oss pip install oss2 首先已经理解OSS 基本概念,如Bucket、Object、Endpoint、AccessKeyId和AccessKeySecret等。  下面介绍如何使用OSS Python SDK来访问OSS服务,包括查看Bucket列表,上传文件,下载文件...
  • 安装oss pipinstall oss2 确认您已经理解OSS 基本概念,如Bucket、Object、Endpoint、AccessKeyId和AccessKeySecret等。 下面介绍如何使用OSS Python SDK来访问OSS服务,包括查看Bucket列表,上传文件,下载文件...
  • OSS Browser是由OSS官方打造的图形化管理工具,相比于资源管理器要更好用一点,功能十分全面,支持AK登录、临时授权码登录,管理Bucket,管理文件等等,可以更加方便地浏览器文件,有需要的朋友欢迎使用。...
  • 原标题:OSS控制台集成将数据库实时备份到OSS的功能摘要: 用户可以将通过数据库备份产品,将本地IDC、公网、其他云、RDS和ECS自建数据库等实时备份到对象存储OSS上。提供全量或增量实时备份、秒级RPO,支持OSS异地...
  • ossbrowser ossbrowser 图形化的Object管理工具 图形化界面,使用简单。 提供类似Windows资源管理器的功能。 支持直接浏览文件。 支持文件目录(文件夹)的上传下载。 支持文件并发上传、断点续传。 支持RAM...
  • OSSClient

    万次阅读 2016-10-18 11:09:15
    OSSClient是OSS服务的Java客户端,它为调用者提供了一系列的方法,用于和OSS服务进行交互。 新建OSSClient 新建一个OSSClient很简单,如下面代码所示: String key = ""; String secret = ""; OSSClient ...
  • word在线预览api接口 office在线预览接口 word转图片 ppt在线预览 excel在线预览 预览支持的文件格式:word... 保存到阿里云oss(私有) --> 文档转成图片保存到阿里云oss (公共)-->阿里云生成图片预览u...
  • 阿里云OSS使用demo,阿里云OSS+springCloud使用详解,里面又controller的详细代码,也有阿里云oss上传的封装,对了如果你使用的是maven,记得导入: <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-...
  • oss存储

    千次阅读 2018-07-13 09:51:27
    前段时间公司让研究阿里云OSS,说计划会用起来。OSS就是一个阿里提供的在线存储服务,其实原先公司自己搭建的文件服务器也就能用,不过可能是为了以后的业务扩大着想,让提前研究使用了。OSS的基本概念他官网上有很...
  • 文章目录OSSClient 已过时,最新版的OSS SDK 插件进行文件上传1、上传形式2、上传字符串3、上传Byte数组4、上传网络流5、上传文件流6、上传本地文件7、组件封装 OSSClient 已过时,最新版的OSS SDK 插件进行文件上传...
  • PhalApi-OSS – 阿里云OSS扩展前言日常大家都会选择文件服务器,阿里云的OSS当然是个不错的选择,可以存放大量的图片以及压缩文件等,还可以开启cdn加速,但是使用起来并不是那么的舒服,所以对OSS进行了封装希望大家喜欢...
  • 经过之前的学习,我们已经开通了阿里云OSS服务并配置了测试账号权限,接下来就可以开始学习OSS的基本API了。 如何快速的掌握使用一门技术? 快速掌握使用一门技术,是每个程序员都要掌握的基本能力。一般只需要做到...
  • OSS初识

    2018-02-02 16:02:22
    刚开始要做图片上传,真的是一脸懵逼。嘛玩意儿?和之前做的图片上传难道不一样吗?... 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。它具有
  • 什么是对象存储OSS 更新时间:2020-09-24 16:14:54 编辑我的收藏 本页目录 相关概念 相关服务 管理OSS OSS定价 学习路径图 视频 常见问题 阿里云存储服务 阿里云对象存储OSS(Object Storage Service)是...
  • OSS客户端工具

    2017-09-11 09:55:20
    OSS客户端工具,详细说明https://help.aliyun.com/document_detail/31827.html?spm=5176.doc31885.2.2.WEl4p0

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,925
精华内容 14,370
关键字:

oss