您可以刪除不再需要保留的單個或多個檔案(Object)。
警告
請您謹慎使用刪除操作,檔案刪除後將無法恢複。
注意事項
當您使用webpack或browserify等打包工具時,請通過npm install ali-oss的方式安裝Browser.js SDK。
通過瀏覽器訪問OSS時涉及跨域請求,如果未設定跨域規則,瀏覽器會拒絕跨域訪問請求。如果您希望通過瀏覽器可以正常訪問OSS,需要通過OSS設定跨域規則。具體操作,請參見準備工作。
由於Browser.js SDK通常在瀏覽器環境下使用,為避免暴露阿里雲帳號存取金鑰(AccessKey ID和AccessKey Secret),強烈建議您使用臨時訪問憑證的方式執行OSS相關操作。
臨時訪問憑證包括臨時存取金鑰(AccessKey ID和AccessKey Secret)和安全性權杖(SecurityToken)。擷取臨時訪問憑證的具體操作,請參見授權訪問。
刪除單個檔案
以下代碼用於刪除單個檔案:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id="delete">刪除</button>
<!--匯入SDK檔案-->
<script type="text/javascript" src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
<script type="text/javascript">
const client = new OSS({
// yourRegion填寫Bucket所在地區。以華東1(杭州)為例,yourRegion填寫為oss-cn-hangzhou。
region: 'yourRegion',
authorizationV4: true,
// 從STS服務擷取的臨時存取金鑰(AccessKey ID和AccessKey Secret)。
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// 從STS服務擷取的安全性權杖(SecurityToken)。
stsToken: 'yourSecurityToken',
// 填寫Bucket名稱,例如examplebucket。
bucket: "examplebucket",
});
const deleteSingle = document.getElementById("delete");
// 刪除單個檔案。
deleteSingle.addEventListener("click", async () => {
// 指定待刪除的Object的名稱。Object名稱需填寫不包含Bucket名稱在內的Object的完整路徑,例如exampledir/exampleobject.txt。
let result = await client.delete('exampledir/exampleobject.txt');
console.log(result);
});
</script>
</body>
</html>
刪除多個檔案
以下代碼用於刪除多個檔案:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id="deleteAll">刪除多個檔案</button>
<!--匯入SDK檔案-->
<script
type="text/javascript"
src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.16.0.min.js"
></script>
<script type="text/javascript">
const client = new OSS({
// yourRegion填寫Bucket所在地區。以華東1(杭州)為例,yourRegion填寫為oss-cn-hangzhou。
region: 'yourRegion',
authorizationV4: true,
// 從STS服務擷取的臨時存取金鑰(AccessKey ID和AccessKey Secret)。
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// 從STS服務擷取的安全性權杖(SecurityToken)。
stsToken: 'yourSecurityToken',
// 填寫Bucket名稱,例如examplebucket。
bucket: "examplebucket",
});
const deleteAll = document.getElementById("deleteAll");
// 刪除多個檔案。
deleteAll.addEventListener("click", async () => {
// 指定多個待刪除Object的名稱。Object名稱需填寫不包含Bucket名稱在內的Object的完整路徑。
let result = await client.deleteMulti([
"example.txt",
"exampleobject.txt",
"newexampleobject.txt",
]);
console.log(result);
result = await client.deleteMulti(
["example.txt", "exampleobject.txt", "newexampleobject.txt"],
{
// 通過quiet參數指定是否返回所有刪除的檔案清單。當quiet指定為true時,OSS不返回訊息體。當quiet指定為false時,OSS返回所有刪除的檔案清單。
quiet: true,
}
);
});
</script>
</body>
</html>
相關文檔
刪除單個檔案
關於刪除單個檔案的完整範例程式碼,請參見GitHub樣本。
關於刪除單個檔案的API介面說明,請參見DeleteObject。
刪除多個檔案
關於刪除多個檔案的完整範例程式碼,請參見GitHub樣本
關於刪除多個檔案的API介面說明,請參見DeleteMultipleObjects。