OSS怎樣上傳下載文件夾(目錄)?
與傳統(tǒng)文件系統(tǒng)中的層級(jí)結(jié)構(gòu)不同,OSS內(nèi)部使用扁平結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),即所有數(shù)據(jù)均以對(duì)象(Object)的形式保存在存儲(chǔ)空間(Bucket)中。為方便管理,OSS管理控制臺(tái)將所有文件名以正斜線(/)結(jié)尾的文件顯示為文件夾,實(shí)現(xiàn)類似于Windows文件夾的基本功能。本文介紹上傳及下載文件夾的多種方式。
使用OSS管理控制臺(tái)
上傳文件夾:在上傳時(shí),直接將文件夾拖拽到上傳區(qū)域,即可保留文件夾的結(jié)構(gòu)。具體操作,請(qǐng)參見(jiàn)簡(jiǎn)單上傳。
下載文件夾:OSS控制臺(tái)不支持直接下載文件夾,您可以在本地創(chuàng)建文件夾后,將Bucket中的文件批量下載到指定文件夾中。具體操作,請(qǐng)參見(jiàn)簡(jiǎn)單下載。
使用阿里云SDK
上傳文件夾:SDK不支持直接上傳文件夾。您可以通過(guò)在上傳時(shí)設(shè)置相同的文件名前綴,并使用正斜線(/)隔開(kāi)的方式實(shí)現(xiàn)將文件上傳至同一個(gè)文件夾。例如上傳example1.txt、example2.txt以及example3.txt三個(gè)文件到dir文件夾。以Java SDK為例,您需要在上傳時(shí)將objectName分別設(shè)置為dir/example1.txt、dir/example2.txt以及dir/example3.txt。
下載文件夾:SDK不支持直接下載文件夾,僅支持通過(guò)指定文件完整路徑的方式將文件夾下的文件下載到本地。假設(shè)您需要將某個(gè)Bucket中文件夾folder下包含的所有文件下載到本地local文件夾:
已知文件夾folder下包含的所有文件
例如,folder文件夾下包含example1.jpg和example2.jpg兩個(gè)文件。以Java SDK為例,您需要在下載時(shí)將objectName分別設(shè)置為folder/example1.jpg、folder/example2.jpg,本地路徑pathName分別設(shè)置為local/folder/example1.jpg、local/folder/example2.jpg。
未知文件夾folder下包含哪些文件
通過(guò)GetBucket (ListObjects)接口獲取該文件夾下的所有文件。
參照以上方法分別設(shè)置objectName以及pathName的完整路徑。
關(guān)于各語(yǔ)言SDK上傳和下載文件的示例代碼,請(qǐng)參見(jiàn)SDK簡(jiǎn)介。