使用阿里云的函数计算来实现OSS资源的打包下载

2023-05-16

文档地址:如何使用函数计算将多个文件打包下载到本地_对象存储 OSS-阿里云

计算函数可以通过对外公网域名进行访问:

计算函数的参数有几个:

bucket:使用的OSS的bucket,必传

source-dir:需要打包的文件所在的目录,必传,传这个参数会将这个目录下的文件都进行打包

source-files:需要打包的文件,多个,传这个会将这些文件都进行打包

dest-file:保存在OSS中的包含文件名的zip包路径

可以通过对外公网域名进行POST请求来进行打包。(传参类型为application/json)

如果不想将文件下载到本地,而是返回打包好的阿里云OSS地址,需要进行一下修改,注释36行,并修改39行的返回值

修改前:

 修改后:

这样就会返回zip包的相对路径,加上OSS域名返回给前端就可以跳转去下载了

例如返回了:out/1.zip

加上OSS域名返回:https://***.oss-cn-guangzhou.aliyuncs.com/out/1.zip 

自定义文件名:

如果想自定义压缩包里的文件名称,可以通过修改83行的zip_add_file方法来实现:

def zip_add_file(zip_file, key):
        key_arr = key.split('::')
        LOG.info('add zip file: %s', key_arr[0])
        if key[-1] == '/':
            return
        obj = oss_client.get_object(key_arr[0])
        print(key_arr)
        zip_file.write_file(key_arr[1], obj,
                            compress_type=zipfile.ZIP_STORED)

其中::为文件的分隔符,这样的话传输数据需要这样传:

{
   "bucket": "bucket-name",
   "source-dir": "upload/",
   "source-files": ["upload/1.jpg::1a.jpg","upload/2.jpg::2b.jpg"]
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用阿里云的函数计算来实现OSS资源的打包下载 的相关文章

  • SpringBoot整合阿里云OSS文件上传、下载、查看、删除

    该项目源码地址 xff1a https github com ggb2312 JavaNotes tree master springboot integration examples xff08 其中包含SpringBoot和其他常用技术
  • 使用阿里云的函数计算来实现OSS资源的打包下载

    文档地址 xff1a 如何使用函数计算将多个文件打包下载到本地 对象存储 OSS 阿里云 计算函数可以通过对外公网域名进行访问 xff1a 计算函数的参数有几个 xff1a bucket xff1a 使用的OSS的bucket xff0c
  • 组合OSS服务实现打包业务文件zip下载

    前言 实现文件打包成zip下载 xff0c 支持zip包含目录 文件 废话不多说 xff0c 直接上码 一 设计思路 后端组织文件 xff0c 打包成zip上传到OSS存储返回文件名称给前端前端根据返回的文件名称 xff08 url xff
  • Ali OSS

    常用工具 对象存储 OSS 阿里云
  • 这才是企业级的oss-spring-boot-starter

    本文主要讲解企业级OSS对象存储服务Spring Boot Starter制作 xff0c 开箱即用 xff0c 为项目进行赋能 基于AmazonS3协议 xff0c 适配市面上的对象存储服务如 xff1a 阿里云OSS 腾讯COS 七牛云
  • Typora+PicGo+阿里云oss

    阿里云Oss图床 43 PicGo 43 Typora 之前用的gitee网上说可能会不稳定 xff0c 我就改成了阿里云OSS对象存储 参考 xff1a PicGo配置阿里云OSS 栗筝i的博客 CSDN博客 picgo 阿里云 1 注册
  • 阿里云OSS 上传文件

    阿里云后台管理 API 集成教程 Key 域名的查询 1 查看上传的文件在哪 a 百度阿里云 进入官网 然后进入管理控制台 b 左侧菜单栏 进入对象存储 OSS c 进入 Bucket 管理页面 点击创建的bucket 名称 d 进入buc
  • 阿里云OSS进行文件下载时,报NOSuchKeys: com.aliyun.oss.OSSException: The specified key does not exist.

    OSS文件下载 bucketName bucket的名称 objectName 保存文件时 OSS服务器返回给我们的url path 下载到本地的路径 OSSClient client new OSSClient endpoint acce
  • 对象存储OSS-iOS

    文章目录 对象存储OSS iOS 一 基础解读 1 相关名词 2 OSS的上传和下载 3 基于SDK快速开始 4 基于OSS的移动开发 4 1 整体流程 4 1 1 客户端申请STS凭证 4 1 2 AppServer请求AssumeRol
  • 【避坑】minio临时凭证STS实现上传,下载

    一 背景 以minio作为图床 采用用户到minio服务器的点对点使用方式 将上传用户的长期凭证放在客户端 app或者web端 带来极大的风险 通常通过临时凭证STS签名的方式实现 简单的逻辑关系图如下 二 minio服务docker安装
  • oss文件上传与下载

    上传 如何使用流式上传和文件上传方式上传文件 对象存储 OSS 阿里云 package com vazyme kf client aliyun oss manager import com aliyun oss ClientExceptio
  • 没有服务器,unity 上传图片到oss服务器生成二维码

    一 前言 最近接了个外包 kinect换装 敬礼上传图片到服务器 返回链接二维码分享 自己没有服务器 问朋友朋友说可以用阿里的oss 直接上传展示 于是研究了下 然后分享下遇到的坑和制作过程 二 重点 这个里面我觉得有两点比较坑 源码中都已
  • 阿里云OSS存储

    目录 一 阿里云OSS存储 二 SDK了解 三 Spring Boot集成OSS 一 阿里云OSS存储 对象存储OSS 为了解决海量数据存储与弹性扩容 我们采用云存储的解决方案 1 开通对象存储OSS服务 1 申请阿里云账号 2 实名认证
  • OSS操作示例

    一 OSS API文档 https www alibabacloud com help zh doc detail 103185 htm spm a2c63 l28256 b99 879 7d315cc5HEvVNn 二 demo ifnd
  • The specified key does not exist.

    问题截图如下 解决办法 我这边的问题就是 拼接的地址跟实际上访问的地址不一样 首先就是建议你先去在oss对象储存那边查看一个文件的访问地址 对比你拼接的不同之处 这里可能有人会出现自己拼接的地址 在程序中写下载刚才上传的文件能够拿到 这是因
  • OSS服务端签名后直传

    OSS服务端签名后直传 1 阿里云OSS启动器快速上手 1 引入oss starter 1 引入oss starter
  • SpringBoot整合——阿里云对象存储(OSS)

    SpringBoot整合 阿里云对象存储 1 OSS介绍 在开发应用的过程中 我们经常会有用户需要实名认证之后才能访问的需求 用户认证需要上传证件图片 首页轮播也需要上传图片 因此我们要做文件服务 阿里云oss是一个很好的分布式文件服务系统
  • Springboot2整合阿里云OSS实现文件上传、下载、删除、查看

    1 阿里云配置 https jingyan baidu com article ea24bc3973db059a63b3316d html 2 pom文件
  • 【OSS】【Py】OSS出现The specified key does not exist问题

    今天接口的OSS模块出现异常 Exception status 404 x oss request id 5C50209BAE509FEEA16D753E details Code NoSuchKey Message The specifi
  • webpack打包文件过大的优化,提取第三方库(vue,ali-oss)到cdn,externals配置

    问题产生原因 vue或用其他第三方库webpack打包导致某单文件js过大 优化形式 webpack的externals配置 从输出的 bundle 中排除依赖 可将第三方库放到html用cdn加载 类似 调试方式 可参考vue cli 脚

随机推荐

  • (原创)解决APP进程被杀死出现的一些坑

    这几天在开发中遇到了这样一个问题 当打开的App数量达到一定数目时 原先的App进程会被系统杀死 然后再次进入这个被杀死的App时 发现了一些异常 经过排查 xff0c 是viewpager的getitem方法没有被调用 通过网上的一些信息
  • 8位字节对齐算法

    参考文章 8bit对齐算法 void testAlign for int i 61 0 i lt 61 10 i 43 43 int align 61 align8Bit i printf 34 the align is d n 34 al
  • Ubuntu22.04安装libudev-dev时的Bug

    新安装了Ubuntu22 04 xff0c 然后安装libudev dev xff1a sudo apt install libudev dev 发现了非常奇怪的事情 xff1a 正在读取软件包列表 完成 正在分析软件包的依赖关系树 完成
  • ubuntu服务器安装python3

    输入python查看python2是否安装 输入python3查看python3是否安装 一般都会安装python2和3 xff0c 系统服务也会调用python xff0c 所以没事不要乱卸载 sudo apt autoremove py
  • 个人面试经历经验谈

    到昨天接到金蝶得Offer xff0c 我想我为期三个星期的找工作面试之旅应该是告一段落了 原以为接到Offer会有点高兴 xff0c 但是一回味这三个星期的起起落落 xff0c 便实在是高兴不起来 xff0c 虽然手上有好几个Offer可
  • mysql 运行sql报错1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB

    innodb file per table 61 1 innodb file format 61 Barracuda innodb file format check 61 ON innodb log file size 61 512M i
  • Git 操作源地址(查看 添加 修改 删除)

    查看源地址 git remote v 修改源地址 git remote set url origin git地址 添加源地址 git remote add NAME GIT URL NAME 为新的Git库源地址名 xff0c GIT UR
  • [CentOS] 四、安装 ranger

    四 安装 ranger 作者 xff1a 解琛 时间 xff1a 2020 年 9 月 15 日 ranger ranger 安装Nerd Fonts字体 span class token function git span clone h
  • java实习两个月总结

    实习两个月总结 刚开始实习的时候激情满满 慢慢的激情也退却了 在杭州月薪3000干了两个月我自己都觉得不可思议 杭州的物价大家有目共睹 先谈谈收获 认识了java8的新特性 了解了开发中常用的工具和工具包 持续集成部署的jenkins sw
  • chrome各种版本下载地址:

    Download older versions of Google Chrome for Windows Linux and Mac Download older versions of Google Chrome for Windows
  • idea 注入mapper报错报红的几种解决方案

    方法1 xff1a 为 64 Autowired 注解设置required 61 false 使用 64 Autowired 注解时 xff0c 若希望允许null值 xff0c 可设置required 61 false 像这样 xff1a
  • 当node遇上Egg遇上TypeScript

    快速入门 通过骨架快速初始化 xff1a npx egg init type 61 ts showcase cd showcase amp amp npm i npm run dev 上述骨架会生成一个极简版的示例 xff0c 更完整的示例
  • fastjson 导致 swagger 页面无法显示

    问题 xff1a 增加swagger后 xff0c 无法访问 http localhost 8080 swagger ui index html xff0c 去除fastjson配置后确可以访问 相关配置信息 xff1a lt fastjs
  • springboot发送HTTP请求

    1 添加依赖 使用RestTemplate进行发送请求 xff0c 添加相关依赖 lt 发送请求的依赖 gt lt dependency gt lt groupId gt org apache httpcomponents lt group
  • 启动docker容器一致提示端口被占用,即使是已经删除相关端口的进程

    1 重启docker服务 systemctl restart docker 2 启动对应的docker容器 docker start tomcat 3 如果提示端口已被占用 xff0c 则查看占用进程并杀死 netstat ntulp gr
  • windows上的IDEA连接Docker

    docker中勾选 查看连接
  • MySQL将字段的值进行拼接

    应用场景 xff1a 1 同张表分组时将某个字段的值进行拼接 将学生按班级分组 xff0c 对同一班级的学生姓名进行拼接 SELECT classid group concat stu name as stu names FROM stud
  • Maven异常:Could not find artifact

    Maven异常 xff1a Could not find artifact 执行maven install的时候出现了以下异常 xff1a INFO Scanning for projects ERROR ERROR Some proble
  • git获取最新的tag

    获取git最新的tag标签 git tag n sort 61 taggerdate head n 1 这样获取到的会有合并信息 如果只需要获取到tag名称 xff0c 也可以这样 git tag sort 61 taggerdate he
  • 使用阿里云的函数计算来实现OSS资源的打包下载

    文档地址 xff1a 如何使用函数计算将多个文件打包下载到本地 对象存储 OSS 阿里云 计算函数可以通过对外公网域名进行访问 xff1a 计算函数的参数有几个 xff1a bucket xff1a 使用的OSS的bucket xff0c