开发者社区 > 云原生 > Serverless > 正文

我们真实的文件名称存在我们的库里,现在是要打包下载zip包 这种有没有好的方案呀?

我们真实的文件名称存在我们的库里,现在是要打包下载zip包 这种有没有好的方案呀?

展开
收起
芬奇福贵 2023-04-06 11:22:56 355 0
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    可以在函数计算中通过读取您的库中的文件,实现将文件打包为 zip 包并下载的功能。具体实现步骤如下:

    1.在您的函数代码中,连接您的库并读取需要下载的文件,将其保存为本地文件;

    2.导入 Java 中用于打包文件的 ZipOutputStream 类,并在代码中创建一个 ZipOutputStream 对象;

    3.使用 ZipOutputStream 的 putNextEntry() 方法来添加一个或多个文件到 zip 包中,并使用 FileInputStream 类将文件写入 zip 流;

    4.使用完 ZipOutputStream 后,需要使用 closeEntry() 和 close() 方法将流关闭,并将 zip 包保存到本地;

    5.最后通过服务器端返回 zip 包地址的方式告知前端下载链接,让用户能够下载 zip 包。

    2023-04-26 09:51:43
    赞同 展开评论 打赏
  • 那就需要改下代码了,看下oss有没有获取这个信息的api,通过触发事件的文件信息获取文件的http头,再去拉取实际文件打包。

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-04-06 18:39:48
    赞同 展开评论 打赏
  • 坚持这件事孤独又漫长。

    是的,有几种方案可以打包下载文件:

    1. 使用服务器端语言(如PHP)自动生成ZIP文件,然后提供下载链接。这种方式需要一定的编程技能,但是可以精确控制哪些文件被包含在ZIP文件中。

    2. 使用JavaScript库(如JSZip)在浏览器中动态生成ZIP文件,然后提供下载链接。这种方式相对简单,不需要服务器端支持,但是由于浏览器的限制,在处理大文件时可能会出现性能问题。

    3. 使用第三方云存储服务(如Google Drive或Dropbox)将文件上传到云端,然后提供下载链接。这种方式比较简单,但需要用户授权并且可能需要支付存储费用。

    需要根据你的情况选择合适的方案。

    2023-04-06 13:07:55
    赞同 展开评论 打赏
问答地址:

快速交付实现商业价值。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载