oss使用SDK上传文件

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: oss使用SDK上传文件

阿里云对象存储服务(OSS)提供了一系列SDK,使得开发人员可以通过各种编程语言便捷地实现文件上传、下载、管理等功能。以下是使用阿里云OSS SDK上传文件的基本步骤(以JavaScript SDK为例):

使用阿里云OSS JavaScript SDK上传文件

步骤概览:

  1. 安装SDK

    # 使用npm安装ali-oss SDK
    npm install ali-oss
    
  2. 初始化OSS客户端

    const OSS = require('ali-oss');
    const client = new OSS({
         
      region: '<Your-OSS-Region>',
      accessKeyId: '<Your-Access-Key-ID>',
      accessKeySecret: '<Your-Access-Key-Secret>',
      bucket: '<Your-Bucket-Name>'
    });
    
  3. 上传文件

    async function uploadFile(localFilePath, remoteObjectName) {
         
      try {
         
        const result = await client.put(remoteObjectName, localFilePath);
        console.log('Upload Success:', result.res.requestId);
        return result;
      } catch (err) {
         
        console.error('Upload Error:', err);
      }
    }
    
    // 调用上传函数
    const filePath = '/path/to/local/file';
    const objectKey = 'remote/path/on/oss/file.txt';
    uploadFile(filePath, objectKey);
    
    • localFilePath 是本地文件路径。
    • remoteObjectName 是要上传到OSS存储桶中的文件路径。
  4. 监听上传进度
    如果你需要展示上传进度,SDK提供了progress回调方法:

    async function uploadWithProgress(localFilePath, remoteObjectName) {
         
      try {
         
        let progressPercentage = 0;
        const result = await client.put(
          remoteObjectName,
          localFilePath,
          {
         
            progress: (percentage, totalSize, uploadedSize) => {
         
              console.log(`Uploaded ${
           uploadedSize} out of ${
           totalSize}, percentage: ${
           percentage}%`);
              progressPercentage = percentage;
            },
          }
        );
        console.log('Upload Complete', progressPercentage);
        return result;
      } catch (err) {
         
        console.error('Upload Error:', err);
      }
    }
    

请确保替换上述代码中的 <Your-OSS-Region><Your-Access-Key-ID><Your-Access-Key-Secret><Your-Bucket-Name> 为实际值。

注意事项:

  • 确保你已在阿里云控制台创建了OSS存储空间(Bucket),并正确设置了访问控制策略。
  • Access Key ID 和 Access Key Secret 是敏感信息,不应在客户端代码中明文存储,应在生产环境中通过安全的方式传递给应用,如环境变量或密钥管理系统。
  • SDK会自动处理分块上传、断点续传等复杂情况,对于大文件上传更为高效。

对于其他编程语言的SDK,基本流程类似,只是API调用的形式和细节会有所不同,但都需要先初始化客户端,然后调用对应的上传接口,并可能提供相应的进度监听回调函数。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
2月前
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1451 4
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
1月前
|
Java 开发工具 Windows
【Azure App Service】在App Service中调用Stroage SDK上传文件时遇见 System.OutOfMemoryException
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
|
5月前
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
7月前
|
安全 Go 开发工具
对象存储OSS产品常见问题之go语言SDK client 和 bucket 并发安全如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
162 9
|
7月前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
228 9
|
4月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
114 0
|
1月前
|
Java Linux API
Android SDK
【10月更文挑战第21天】
78 1
|
2月前
|
程序员 开发工具 Android开发
Android|使用阿里云推流 SDK 实现双路推流不同画面
本文记录了一种使用没有原生支持多路推流的阿里云推流 Android SDK,实现同时推送两路不同画面的流的方法。
67 7
|
4月前
|
开发工具 Android开发
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
190 4
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
|
4月前
|
Dart 开发工具 Android开发
Android Studio导入Flutter项目提示Dart SDK is not configured
Android Studio导入Flutter项目提示Dart SDK is not configured
392 4
下一篇
DataWorks