您可以通過put接口將本地文件上傳到OSS。
示例代碼
以下代碼用于將本地文件examplefile.txt上傳到目標存儲空間examplebucket中的exampleobject.txt文件。
const OSS = require('ali-oss')
const path=require("path")
const client = new OSS({
// yourregion填寫Bucket所在地域。以華東1(杭州)為例,Region填寫為oss-cn-hangzhou。
region: 'yourregion',
// 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// 填寫Bucket名稱。
bucket: 'examplebucket',
});
// 自定義請求頭
const headers = {
// 指定Object的存儲類型。
'x-oss-storage-class': 'Standard',
// 指定Object的訪問權限。
'x-oss-object-acl': 'private',
// 通過文件URL訪問文件時,指定以附件形式下載文件,下載后的文件名稱定義為example.txt。
'Content-Disposition': 'attachment; filename="example.txt"',
// 設置Object的標簽,可同時設置多個標簽。
'x-oss-tagging': 'Tag1=1&Tag2=2',
// 指定PutObject操作時是否覆蓋同名目標Object。此處設置為true,表示禁止覆蓋同名Object。
'x-oss-forbid-overwrite': 'true',
};
async function put () {
try {
// 填寫OSS文件完整路徑和本地文件的完整路徑。OSS文件完整路徑中不能包含Bucket名稱。
// 如果本地文件的完整路徑中未指定本地路徑,則默認從示例程序所屬項目對應本地路徑中上傳文件。
const result = await client.put('exampleobject.txt', path.normalize('D:\\localpath\\examplefile.txt')
// 自定義headers
,{headers}
);
console.log(result);
} catch (e) {
console.log(e);
}
}
put();
常見問題
上傳文件后如何確保返回的URL為HTTPS而不是HTTP?
如果您希望上傳文件后返回的URL為HTTPS,您需要添加secure配置項,并指定該配置項的值為true。更多信息,請參見配置項。
相關文檔
文檔內容是否對您有幫助?