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,搭建一个在线教育视频课程分享网站。
相关文章
|
1月前
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1432 4
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
6天前
|
Java 开发工具 Windows
【Azure App Service】在App Service中调用Stroage SDK上传文件时遇见 System.OutOfMemoryException
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
|
4月前
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
6月前
|
安全 Go 开发工具
对象存储OSS产品常见问题之go语言SDK client 和 bucket 并发安全如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
141 9
|
6月前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
216 9
|
4月前
|
机器学习/深度学习 人工智能 专有云
人工智能平台PAI使用问题之怎么将DLC的数据写入到另一个阿里云主账号的OSS中
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
16天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
3月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
|
4月前
|
存储 运维 安全
阿里云OSS的优势
【7月更文挑战第19天】阿里云OSS的优势
189 2
|
4月前
|
存储 API 开发工具
阿里云OSS
【7月更文挑战第19天】阿里云OSS
187 1

热门文章

最新文章