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,搭建一个在线教育视频课程分享网站。
相关文章
|
14天前
|
安全 Go 开发工具
对象存储OSS产品常见问题之go语言SDK client 和 bucket 并发安全如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
42 9
|
14天前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
46 9
|
14天前
|
存储 移动开发 前端开发
对象存储oss使用问题之OSS SDK .net 使用下载例程报错如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
26 0
|
14天前
|
开发工具 对象存储 Android开发
对象存储oss使用问题之C++使用OSS SDK时遍历OSS上的文件时崩溃如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
24 0
|
2月前
|
Rust API 开发工具
Rust初学者,边学边写的OSS的sdk,欢迎批评指正 :)
`Rust`语言编写的阿里云OSS的SDK,依据官方文档并参考了其他语言的实现。
221 5
Rust初学者,边学边写的OSS的sdk,欢迎批评指正 :)
|
2月前
|
Java API 开发工具
如何用阿里云 oss 下载文件
阿里云对象存储服务(OSS)提供了多种方式下载文件,以下讲解下各种方式的下载方法
1034 1
|
2月前
|
存储 安全 对象存储
手把手教你搭建阿里云图床(PicGo+Typora+阿里云OSS),新手小白一看就会
本文详细介绍了怎样帮助新手小白从注册,购买阿里云OSS,到一步一步配置OSS做为图床,和PicGo、Typora软件连接,配置好关联之后,在使用Typora写文章时,如果需要插入图片,只需要将图片复制粘贴到Typora的编辑区域,就会自动通过PicGo上传到指定图床,自动复制外网能访问的URL并展示,简直不要太方便,极大的解决了编辑文章时复制处理图片链接的痛点。
210 2
手把手教你搭建阿里云图床(PicGo+Typora+阿里云OSS),新手小白一看就会
|
3月前
|
对象存储
minio临时凭证直传切换到阿里云oss
minio临时凭证直传切换到阿里云oss
189 1
|
2月前
|
弹性计算 前端开发 小程序
微信小程序上传文件至阿里云OSS直传(java后端签名+前端直传)
当前的通用文件上传方式是通过前端上传到服务器,再由服务器转存至对象存储。这种方式在处理小文件时效率尚可,但大文件上传因受限于服务器带宽,速度较慢。例如,一个100MB的文件在5Mbps带宽的阿里云ECS上上传至服务器需160秒。为解决此问题,可以采用后端签名的方式,使微信小程序直接上传文件到阿里云OSS,绕过服务器中转。具体操作包括在JAVA后端引入相关依赖,生成签名,并在微信小程序前端使用这个签名进行文件上传,注意设置正确的请求头和formData参数。这样能提高大文件上传的速度。
|
7天前
|
网络协议 对象存储
阿里云oss配置自有域名
阿里云oss配置自有域名
15 1