與傳統文件系統中的層級結構不同,OSS內部使用扁平結構存儲數據,即所有數據均以對象(Object)的形式保存在存儲空間(Bucket)中。為方便管理,OSS管理控制臺將所有文件名以正斜線(/)結尾的文件顯示為文件夾,實現類似于Windows文件夾的基本功能。本文介紹上傳及下載文件夾的多種方式。
使用OSS管理控制臺
使用阿里云SDK
上傳文件夾:SDK不支持直接上傳文件夾。您可以通過在上傳時設置相同的文件名前綴,并使用正斜線(/)隔開的方式實現將文件上傳至同一個文件夾。例如上傳example1.txt、example2.txt以及example3.txt三個文件到dir文件夾。以Java SDK為例,您需要在上傳時將objectName分別設置為dir/example1.txt、dir/example2.txt以及dir/example3.txt。
下載文件夾:SDK不支持直接下載文件夾,僅支持通過指定文件完整路徑的方式將文件夾下的文件下載到本地。假設您需要將某個Bucket中文件夾folder下包含的所有文件下載到本地local文件夾:
已知文件夾folder下包含的所有文件
例如,folder文件夾下包含example1.jpg和example2.jpg兩個文件。以Java SDK為例,您需要在下載時將objectName分別設置為folder/example1.jpg、folder/example2.jpg,本地路徑pathName分別設置為local/folder/example1.jpg、local/folder/example2.jpg。
未知文件夾folder下包含哪些文件
通過GetBucket (ListObjects)接口獲取該文件夾下的所有文件。
參照以上方法分別設置objectName以及pathName的完整路徑。
關于各語言SDK上傳和下載文件的示例代碼,請參見SDK簡介。