怎么获取oss文件object的uri?

2025-02-24 17:54:02
推荐回答(1个)
回答1:

1、进入OSS 管理控制台界面。

2、在左侧存储空间列表中,单击目标存储空间名称,打开该存储空间概览页面。

3、单击文件管理页签。

4、单击目标文件的文件名,打开该文件的预览页面。

5、复制文件URL:用于下载文件。

6复制文件路径:用于搜索文件或者给图片类的文件加水印功能等。

7、单击复制文件URL获取文件链接给访问者进行浏览或者下载。

OSS文件的断点上传与下载

一、断点下载

所谓断点下载,就是要从文件已经下载的地方开始继续下载。为了方便理解,我们先来看一个从OSS下载一个文件保存到本地的Python例子。

在这个例子 【注:为了便于理解,本文的代码实例忽略了一些简单的出错处理以及极端情况的判断逻辑】中,我们从一个名为“lingyun”的bucket里面,下载一个叫“example.dat”的文件,并且以相同名字保存在当前目录。

基于上面的代码,下面的程序显示了增加断点续传功能的文件下载代码,变化的地方用绿颜色标注出来了:

这段代码和前段代码相比,有四处发生了变化:

1、增加了流式写入本地文件的逻辑。防止下载的数据对象过大,无法一下子读入本地的内存中。

2、向OSS发送数据前,获取本地文件长度。

3、构造HTTP的Range Header,要求OSS从指定的位置开始下载。

4、判断OSS返回的HTTP值,并做出相应的处理:如果OSS返回206,说明下载的是指定位置范围内的数据;其他状态码表明“Range”参数错误或者发生异常。

二、注意事项

1、Range参数中的文件位置是从0开始,最大值是文件长度减1

2、如果Range参数填写错误,OSS将忽视这个参数【注:如果其他参数都合法,这个请求将符合get object请求的语法,OSS会返回整个object的内容,而不是用户期望的部分数据。】。

3、Range参数设置正确的话,OSS将返回HTTP状态码206(不是200)以表示返回的是部分数据。

4、通过“Range”参数,还可以实现大文件的并发下载。

三、断点上传

相对于断点下载,断点上传的实现显然要复杂得多。

OSS提供的解决办法可以理解为:在客户端将大文件切分成若干适合公网传输的小数据块;然后将这些小数据 块分别上传到OSS上;最后在OSS服务器端将这些小数据块合并成最终的文件。

1、 Initiate Multipart Upload:初始化一个Multipart Upload事件。

2、 Upload Part:上传数据块。

3、 Complete Multipart Upload:完成一个Multipart Upload事件。

4、 Abort Multipart Upload:中止一个Multipart Upload事件。

5、 List Multipart Uploads:列出所有存在的Multipart Upload事件。

6、 List Parts:列出某个Multipart Upload事件下的所有数据块。

7、这套接口中定义了两个唯一识别码(UUID):Upload ID和Part ID,分别用于标识某个Multipart Upload上传事件和某个数据块。一个完整的Multipart上传过程由以下几步组成:

1、Initiate Multipart Upload: 初始化一个Multipart Upload事件

2、客户端通知OSS要上传一个大文件,OSS返回给客户端一个唯一标识这次Multipart上传事件的Upload ID。