このトピックでは、put操作を呼び出してローカルファイルをObject Storage Service (OSS) にアップロードする方法について説明します。
サンプルコード
次のコードは、examplefile.txtという名前のローカルファイルをexamplebucketという名前のバケットにアップロードする方法の例を示しています。 アップロードされたファイルは、OSSにexampleobject.txtという名前のオブジェクトとして保存されます。
const OSS = require('ali-oss')
const path=require("path")
const client = new OSS({
// Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to oss-cn-hangzhou.
region: 'yourregion',
// Obtain access credentials from environment variables. Before you run the sample code, make sure that you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Specify the name of the bucket.
bucket: 'examplebucket',
});
// Add custom request headers.
const headers = {
// Specify the storage class of the object.
'x-oss-storage-class': 'Standard',
// Specify the access control list (ACL) of the object.
'x-oss-object-acl': 'private',
// When you access an object by using the URL of the object, specify that the object is downloaded as an attachment. In this example, the name of the downloaded object is example.jpg.
'Content-Disposition': 'attachment; filename="example.txt"',
// Specify tags for the object. You can specify multiple tags for the object at the same time.
'x-oss-tagging': 'Tag1=1&Tag2=2',
// Specify whether the PutObject operation overwrites an object that has the same name. In this example, the x-oss-forbid-overwrite parameter is set to true, which specifies that an existing object that has the same name cannot be overwritten by the uploaded object.
'x-oss-forbid-overwrite': 'true',
};
async function put () {
try {
// Specify the full paths of the object and the local file. Do not include the bucket name in the full path of the object.
// If the path of the local file is not specified, the local file is uploaded from the path of the project to which the sample program belongs.
const result = await client.put('exampleobject.txt', path.normalize('D:\\localpath\\examplefile.txt')
// Specify custom headers.
,{headers}
);
console.log(result);
} catch (e) {
console.log(e);
}
}
put();
よくある質問
オブジェクトをアップロードした後、HTTP URLではなくHTTPS URLが返されるようにするにはどうすればよいですか。
オブジェクトをアップロードした後にHTTPS URLを返す場合は、secureパラメーターをtrueに設定する必要があります。 詳細については、「パラメーター」をご参照ください。