oss小文件上传

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

阿里云对象存储服务(OSS)中的简单上传适用于较小的文件(最大不超过5GB),以下是使用简单上传将文件上传至OSS的基本步骤,不同编程语言下会有相应的SDK实现,这里以几种常见编程语言为例说明:

使用阿里云官方SDK上传文件

示例一:使用Java SDK

// 初始化OSS客户端
String endpoint = "<YourEndpoint>";
String accessKeyId = "<YourAccessKeyId>";
String accessKeySecret = "<YourAccessKeySecret>";
String bucketName = "<YourBucketName>";

BasicCredentials credentials = new BasicCredentials(accessKeyId, accessKeySecret);
OSS client = new OSSClientBuilder().build(endpoint, credentials);

// 打开本地文件,并上传到OSS
String localFilePath = "<YourLocalFilePath>";
String objectName = "<YourObjectNameOnOSS>"; // OSS上的目标文件名

try {
   
    FileInputStream fileInputStream = new FileInputStream(new File(localFilePath));
    ObjectMetadata metadata = new ObjectMetadata();
    metadata.setContentLength(fileInputStream.available());
    client.putObject(bucketName, objectName, fileInputStream, metadata);
    System.out.println("Upload object success.");
} catch (IOException e) {
   
    e.printStackTrace();
} finally {
   
    if (client != null) {
   
        try {
   
            client.shutdown();
        } catch (Exception ignored) {
   }
    }
}

示例二:使用Python SDK

from aliyunsdkcore.profile import region_provider
from aliyunsdkiotsdk.request.v20180120 import PublishMessageRequest
from aliyunsdkoss.request.v20130625 import PutObjectRequest
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.request import CommonRequest

# 初始化客户端
client = AcsClient('<YourAccessKeyId>', '<YourAccessKeySecret>', '<YourRegionId>')

# 准备上传参数
bucket_name = '<YourBucketName>'
local_file_path = '<YourLocalFilePath>'
object_name = '<YourObjectNameOnOSS>'

# 读取本地文件并上传
try:
    with open(local_file_path, 'rb') as file_obj:
        request = PutObjectRequest.PutObjectRequest()
        request.set_BucketName(bucket_name)
        request.set_Key(object_name)
        request.set_Content(file_obj.read())
        # 可选设置元数据
        # request.set_Metadata(metadata)
        client.do_action_with_exception(request)
        print("Upload object success.")
except ClientException as e:
    print("Error occurred:", e)

其他语言示例

对于其他编程语言如JavaScript(Node.js)、Go、PHP等,也有对应的SDK实现类似的操作,基本流程是先初始化客户端,然后调用对应的putObject或其他等效方法,指定Bucket名称、上传的目标Object名称以及本地文件路径。

注意事项:

  • 确保您的阿里云账号具有向指定Bucket上传文件的权限。
  • 上传前确保本地文件存在并且可读。
  • 对于大文件(超过5GB),建议使用分片上传(Multipart Upload)。
  • 在上传过程中,若Bucket中已有同名文件且覆盖策略允许,则会替换原有文件;否则根据Bucket的覆盖策略可能会导致上传失败。
  • 若需记录上传后的URL供后续访问,可通过OSS服务提供的相关方法获取文件的公共访问URL。
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
8月前
|
存储 Java 对象存储
springboot配置阿里云OSS存储实现文件上传下载功能
【1月更文挑战第1天】springboot配置阿里云OSS存储实现文件上传下载功能
2430 2
|
7月前
|
存储 Java Maven
大事件后端项目31--------文件上传_阿里云OSS_入门程序
大事件后端项目31--------文件上传_阿里云OSS_入门程序
|
7月前
|
存储 运维 Java
大事件后端项目30------文件上传_阿里云OSS_准备工作
大事件后端项目30------文件上传_阿里云OSS_准备工作
|
7月前
|
对象存储
大事件后端项目32--------文件上传_阿里云OSS_程序集成
大事件后端项目32--------文件上传_阿里云OSS_程序集成
|
8月前
|
安全 网络安全 开发工具
对象存储oss使用问题之flutter使用http库进行post请求文件上传返回400如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
335 1
|
8月前
|
JavaScript 网络安全 开发工具
对象存储oss使用问题之文件上传在暂停时报错:ResponseError: socket hang up如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
541 0
|
8月前
|
运维 编译器 API
对象存储oss使用问题之进行文件上传时报错java.io.EOFException如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
344 0
|
8月前
|
开发工具 对象存储
阿里云OSS文件上传
阿里云OSS文件上传
174 0
|
8月前
|
存储 对象存储 Python
Python中使用阿里云OSS存储实现文件上传和下载功能
Python中使用阿里云OSS存储实现文件上传和下载功能
1922 2
|
存储 安全 Java
【案例实战】SpringBoot整合阿里云文件上传OSS
【案例实战】SpringBoot整合阿里云文件上传OSS
【案例实战】SpringBoot整合阿里云文件上传OSS