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,搭建一个在线教育视频课程分享网站。
相关文章
|
10天前
|
存储 移动开发 前端开发
对象存储oss使用问题之OSS SDK .net 使用下载例程报错如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
25 0
|
4月前
|
Java 开发工具 对象存储
SpringBoot项目中使用阿里云Oss上传文件
SpringBoot项目中使用阿里云Oss上传文件
434 1
|
1月前
|
Rust API 开发工具
Rust初学者,边学边写的OSS的sdk,欢迎批评指正 :)
`Rust`语言编写的阿里云OSS的SDK,依据官方文档并参考了其他语言的实现。
216 5
Rust初学者,边学边写的OSS的sdk,欢迎批评指正 :)
|
2月前
|
对象存储
阿里云oss-cloud-sdk-springboot3兼容问题
阿里云oss-cloud-sdk-springboot3兼容问题
76 0
|
4月前
|
存储 DataWorks 开发工具
在DataWorks中,可以使用Python SDK操作阿里云OSS存储服
在DataWorks中,可以使用Python SDK操作阿里云OSS存储服
136 1
|
5天前
|
JavaScript Java Maven
云效产品使用常见问题之android sdk 构建出aar后,上传到私有maven仓库失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
安全 开发工具 Android开发
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
290 0
|
6月前
|
API 开发工具 Android开发
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
148 0
|
3月前
|
开发工具 Android开发
Android获取SDK的版本信息
Android获取SDK的版本信息
39 0
|
4月前
|
编解码 Java 开发工具
Android端接入视频生产 Java SDK
Android端接入视频生产 Java SDK
40 1