阿里云OSS对象存储使用临时URL访问,并对下载文件重命名

这篇具有很好参考价值的文章主要介绍了阿里云OSS对象存储使用临时URL访问,并对下载文件重命名。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

解读

如何使用临时授权的url访问云对象地址,又如何通过该URL下载自定义的文件名。
下面是两个内容点:
1.直接获取临时url,这个跟官方的差不多,基本上照搬即可。
2.获取临时url,并且可以对下载文件重命名。

使用sdk版本

java SDK版本 3.5.0

1.使用临时URL访问OSS,并获取临时URL

官方文档

oss java sdk

举例

直接使用临时URL访问,这里可以参看文档中的java授权访问。写的很详细了。

    // objectName: 上传路径 (不能包含Bucket名称)
    public String getDownloadUrl(String objectName) {
  		// 设置签名URL过期时间,单位为毫秒。
        Date expiration = new Date(new Date().getTime() + 3600 * 1000);
        //  填写Bucket名称,例如examplebucket。
        URL url = ossClient.generatePresignedUrl(bucketName, objectName, expiration );
        return url.toString();
    }

2.使用临时URL访问OSS,并对临时URL下载的文件重命名

分析

1.在获取临时的url里边有这么一行代码

ossClient.generatePresignedUrl(bucketName, objectName, expiration );

进入看看
oss返回url,对象云存储,阿里云,java
发现里边有三个接口都可以获取URL,看到最后一个public URL generatePresignedUrl(GeneratePresignedUrlRequest request)是不是很熟悉,这里不就是可以创建一个urlRequest。
看看传入的参数GeneratePresignedUrlRequest 是什么:oss返回url,对象云存储,阿里云,java
惊喜的发现这里边这个ResponseHeaderOverrides对象可以覆盖response headers.
进入到这个类里边,找到了这个setContentDisposition()方法,这个正是我需要的。
oss返回url,对象云存储,阿里云,java
这下就明了。
我需要new 一个 GeneratePresignedUrlRequest,并将覆盖请求头的属性ResponseHeaderOverrides给set进去。并调用ossClient的generatePresignedUrl(GeneratePresignedUrlRequest)返回url即可oss返回url,对象云存储,阿里云,java

举例

   // objectName: 上传路径 (不能包含Bucket名称)
   // fileName :重命名的文件(eg:  rename.txt)
    protected String getDownloadUrl(String objectName, String fileName) {
        // 设置签名URL过期时间,单位为毫秒。
        Date expiration = new Date(new Date().getTime() + 3600 * 1000);
        //  填写Bucket名称,例如examplebucket。
        GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucketName, objectName);
        //设置过期时间
        request.setExpiration(expiration );
        //方法一: 直接覆盖请求头
        ResponseHeaderOverrides Headers=new ResponseHeaderOverrides();
        Headers.setContentDisposition(String.format("attachment;filename=%s", fileName));
        request.setResponseHeaders(Headers);
        //方法二: 设置setQueryParameter();其实方法一源码也是这样设置的
        // Map<String, String> queryParams = new HashMap<>(8);
        // queryParams.put("response-content-disposition", String.format("attachment;filename=%s", fileName));
        // request.setQueryParameter(queryParams);
        URL url = ossClient.generatePresignedUrl(request);
        return url.toString();
    }

注: 第二种方法相当于里边源码写的,直接设置Parameters
oss返回url,对象云存储,阿里云,java
本篇文档到这里就结束了,有兴趣的朋友可以一起交流一下。文章来源地址https://www.toymoban.com/news/detail-701458.html

到了这里,关于阿里云OSS对象存储使用临时URL访问,并对下载文件重命名的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PHP之 使用阿里云对象存储OSS上传图片

    参考地址 https://blog.csdn.net/weixin_42672802/article/details/129136850 https://blog.csdn.net/HZX19941018/article/details/86066529

    2024年02月16日
    浏览(44)
  • 阿里云Oss服务开通 #对象存储 #OSS

    1.点击立即开通 2.勾上协议,立即开通 3.成功,点击‘管理控制台’ 4.创建Bucket 5.勾选相关参数 6.勾选完的参数 7.进入Bucket 8.上传文件-测试 9.选择上传的文件 10.在主页面看到效果,点击详情查看 阿里云OSS服务API使用 常用入口:Access-Key 勾选 1. 访问控制(RAM) 创建用户**** 2. 短

    2024年01月25日
    浏览(59)
  • 阿里云-对象存储OSS

    大家好,我是 码赛客1024 ,今天我们一起来学习阿里云的对象存储服务OSS。 阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。 简单

    2024年01月16日
    浏览(98)
  • 阿里云对象存储(OSS)服务

    阿里云对象存储(OSS)服务 引入依赖 这里 aliyun-oss-spring-boot-starter 中默认引入的 aliyun-java-sdk-core 是 3.4.0 版本,但是 aliyun-spring-boot-dependencies 中对 aliyun-java-sdk-core 版本管理为:4.5.0,会导致版本冲突 所以排除 aliyun-oss-spring-boot-starter 默认的 aliyun-java-sdk-core ,单独引入 4.5.0 版

    2024年01月25日
    浏览(53)
  • 2.阿里云对象存储OSS

            文件上传,是指将本地图片、视频、音频等文件上传到服务器上,可以供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛,我们经常发抖音、发朋友圈都用到了文件上传功能。 实现文件上传服务,需要有存储的支持,解决方案有以下几种: 存储方式

    2024年02月12日
    浏览(60)
  • 浅谈阿里云对象存储OSS

    OSS(即Object Storage Service)是一种提供海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本,官方一点解释就是对象存储是一种使用HTTP API存储和检索非结构化数据和元数据对象的工具。白

    2024年02月12日
    浏览(64)
  • 阿里云对象存储OSS文件上传

    阿里云oss地址: 对象存储OSS_云存储服务_企业数据管理_存储-阿里云 阿里云对象存储OSS是一款海量、安全、低成本、高可靠的云存储服务,提供12个9的数据持久性,99.995%的数据可用性和多种存储类型,适用于数据湖存储,数据迁移,企业数据管理,数据处理等多种场景,可对

    2024年02月12日
    浏览(43)
  • 阿里云对象存储OSS怎么收费?

    阿里云对象存储OSS收费有两种计费模式,即包年包月和按量付费,包年包月是指购买存储包、流量包来抵扣OSS产生的存储费核流量费,OSS标准(LRS)存储包100GB优惠价33元、500GB存储包半年162元、OSS存储包40GB一年9元,OSS流量包100G 49元/月,阿里云百科来详细说下阿里云对象存储

    2024年01月19日
    浏览(58)
  • 阿里云对象存储OSS学习笔记4

    存储类型介绍: 文件存储:NAS 文件存储、NFS。 块存储:SAN iSCSI: 硬盘通过IP的方式提供给其他设备使用。 对象存储:OSS、CUS:我们创建了一个存储池,我们的文件有文件本身、给文件生成元数据、文件唯一的ID。我们可以通过http和https来阅读。存储内容:内容不会变化的,例

    2024年02月06日
    浏览(50)
  • SpringBoot整合阿里云OSS对象存储

    阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。 可以进行

    2024年02月06日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包