全部产品
Search
文档中心

Object Storage Service:Unggah file lokal (Node.js SDK)

更新时间:Nov 30, 2025

Gunakan operasi put untuk mengunggah file lokal ke OSS.

Permissions

Secara default, Akun Alibaba Cloud memiliki izin penuh. Pengguna RAM atau Peran RAM di bawah Akun Alibaba Cloud tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator akun harus memberikan izin operasi melalui RAM Policy atau Bucket policies.

API

Action

Definition

PutObject

oss:PutObject

Mengunggah objek.

oss:PutObjectTagging

Saat mengunggah objek, jika Anda menentukan tag objek melalui x-oss-tagging, izin ini diperlukan.

kms:GenerateDataKey

Saat mengunggah objek, jika metadata objek berisi X-Oss-Server-Side-Encryption: KMS, kedua izin ini diperlukan.

kms:Decrypt

Sample code

Kode berikut menunjukkan cara mengunggah file lokal examplefile.txt sebagai objek bernama exampleobject.txt ke bucket bernama examplebucket.

const OSS = require('ali-oss')
const path=require("path")

const client = new OSS({
  // Setel yourregion ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel Region ke oss-cn-hangzhou.
  region: 'yourregion',
  // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Tentukan nama bucket.
  bucket: 'examplebucket',
});

// Header permintaan kustom
const headers = {
  // Tentukan kelas penyimpanan objek.
  'x-oss-storage-class': 'Standard',
  // Tentukan izin akses objek.
  'x-oss-object-acl': 'private',
  // Saat file diakses melalui URL-nya, tentukan bahwa file tersebut diunduh sebagai lampiran. File yang diunduh diberi nama example.txt.
  'Content-Disposition': 'attachment; filename="example.txt"',
  // Tetapkan tag untuk objek. Anda dapat menetapkan beberapa tag sekaligus.
  'x-oss-tagging': 'Tag1=1&Tag2=2',
  // Tentukan apakah objek dengan nama yang sama akan ditimpa selama operasi PutObject. Parameter ini disetel ke true untuk mencegah penimpaan objek.
  'x-oss-forbid-overwrite': 'true',
};

async function put () {
  try {
    // Tentukan path lengkap objek OSS dan path lengkap file lokal. Path lengkap objek OSS tidak boleh berisi nama bucket.
    // Jika Anda tidak menentukan path lokal dalam path lengkap file lokal, file akan diunggah dari path lokal proyek tempat program contoh ini berada.
    const result = await client.put('exampleobject.txt', path.normalize('D:\\localpath\\examplefile.txt')
    // Header kustom
    ,{headers}
    );
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

put();

FAQ

Bagaimana cara memastikan bahwa URL yang dikembalikan setelah pengunggahan file merupakan URL HTTPS dan bukan HTTP?

Untuk memastikan bahwa URL yang dikembalikan setelah pengunggahan file merupakan URL HTTPS, tambahkan item konfigurasi secure dan atur nilainya ke true. Untuk informasi selengkapnya, lihat Configuration items.

References

  • Untuk kode contoh lengkap unggahan simple, lihat GitHub examples.

  • Untuk informasi selengkapnya tentang operasi API untuk unggahan simple, lihat PutObject.