tongchenkeji 发表于:2023-4-7 11:22:220次点击 已关注取消关注 关注 私信 我想在这里把文件压缩成压缩包 上传到oss 有没有类似的案例呀?[阿里云函数计算] 暂停朗读为您朗读 我想在这里把文件压缩成压缩包 上传到oss 有没有类似的案例呀? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 函数计算# 对象存储1210
六月的雨在钉钉AM 2023-11-27 21:47:55 2 阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。也就是说阿里云OSS提供的是云存储服务,如果你想要上传压缩包到OSS的话,那么需要你现在本地代码中将上传文件压缩之后再调用OSS SDK通过简单上传的方式上传到OSS,超过5G的需要采用分片上传的方式。
魏红斌AM 2023-11-27 21:47:55 3 1.将待上传的文件进行压缩,可以使用WinRAR等工具进行压缩。WinRAR支持多种压缩格式,例如ZIP、RAR等,可以根据实际需求选择合适的格式。 2.登录阿里云控制台,找到OSS服务,创建一个bucket用于存放上传的压缩包。 3.在bucket中创建一个目录,用于存放上传的压缩包。 4.使用阿里云提供的OSS API或者第三方SDK,将压缩包上传到指定目录中。常用的API有Java SDK、Python SDK等,上传操作通常需要提供access key、secret key等验证信息,以及要上传的压缩包的本地路径和上传路径等参数。 5.在上传完成后,根据需要设置bucket的访问权限,例如公共读写或者私有读写等。
凌云CloudAM 2023-11-27 21:47:55 4 你好,实现思路是使用Java的ZipOutputStream类来将文件压缩成zip压缩包,然后使用阿里云OSS Java SDK将压缩包上传到OSS。 这是代码示例,可以参考下: import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;import com.aliyun.oss.OSS;import com.aliyun.oss.OSSClientBuilder;import com.aliyun.oss.model.ObjectMetadata;import com.aliyun.oss.model.PutObjectRequest;import com.aliyun.oss.model.PutObjectResult;public class OSSUploader { public static void main(String[] args) throws Exception { String endpoint = "your-endpoint"; // OSS的endpoint String accessKeyId = "your-accessKeyId"; // 访问OSS的AccessKeyId String accessKeySecret = "your-accessKeySecret"; // 访问OSS的AccessKeySecret String bucketName = "your-bucketName"; // 存储压缩包的OSS bucket名称 String objectName = "example.zip"; // 存储的压缩包名称 String filePath = "your-filePath"; // 需要压缩的文件路径 // 创建OSSClient实例 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); // 创建压缩文件流 ByteArrayOutputStream baos = new ByteArrayOutputStream(); ZipOutputStream zos = new ZipOutputStream(baos); // 将需要压缩的文件添加到ZipOutputStream中 File file = new File(filePath); FileInputStream fis = new FileInputStream(file); ZipEntry zipEntry = new ZipEntry(file.getName()); zos.putNextEntry(zipEntry); byte[] buffer = new byte[1024]; int len; while ((len = fis.read(buffer)) > 0) { zos.write(buffer, 0, len); } fis.close(); zos.closeEntry(); // 关闭ZipOutputStream zos.close(); // 将压缩包上传到OSS byte[] data = baos.toByteArray(); ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentLength(data.length); PutObjectRequest request = new PutObjectRequest(bucketName, objectName, new ByteArrayInputStream(data), metadata); PutObjectResult result = ossClient.putObject(request); // 输出上传结果 System.out.println(result.getETag()); // 关闭OSSClient ossClient.shutdown(); }}
没有 您这个应该是需要本地执行的逻辑。
此答案来自钉钉群“阿里函数计算官网客户”
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。也就是说阿里云OSS提供的是云存储服务,如果你想要上传压缩包到OSS的话,那么需要你现在本地代码中将上传文件压缩之后再调用OSS SDK通过简单上传的方式上传到OSS,超过5G的需要采用分片上传的方式。
1.将待上传的文件进行压缩,可以使用WinRAR等工具进行压缩。WinRAR支持多种压缩格式,例如ZIP、RAR等,可以根据实际需求选择合适的格式。
2.登录阿里云控制台,找到OSS服务,创建一个bucket用于存放上传的压缩包。
3.在bucket中创建一个目录,用于存放上传的压缩包。
4.使用阿里云提供的OSS API或者第三方SDK,将压缩包上传到指定目录中。常用的API有Java SDK、Python SDK等,上传操作通常需要提供access key、secret key等验证信息,以及要上传的压缩包的本地路径和上传路径等参数。
5.在上传完成后,根据需要设置bucket的访问权限,例如公共读写或者私有读写等。
你好,实现思路是使用Java的ZipOutputStream类来将文件压缩成zip压缩包,然后使用阿里云OSS Java SDK将压缩包上传到OSS。
这是代码示例,可以参考下: