gpt4 book ai didi

ruby-on-rails - 如何仅修改内存中的 zip 文件?

转载 作者:数据小太阳 更新时间:2023-10-29 07:04:53 26 4
gpt4 key购买 nike

我有一个 Ruby 应用程序,我需要修改现有的 zip 文件。

我想在内存中构建 zip 文件并流回字节,而无需将文件写入文件系统。如果我最终在 Heroku 上托管它,我认为我无法写入文件系统。有谁知道这样做的方法吗?

我看了Zip::ZipFile但看起来它总是想写入文件系统。我想“基于 java 实现”我将能够只获取压缩文件的字节,这可以在 java 中完成,但我看不到这样做的方法。


编辑:

我要问的与此基本相同,但针对 Ruby 而不是 Python: Function to create in-memory zip file and return as http response

最佳答案

有同样的问题,必须通过关闭文件并读取数据并将其作为 send_data 流式传输来使其工作

然后找到了另一个在 heroku 上运行良好并且可以处理内存缓冲区的库:它是 zipruby (不是 ruby​​zip)。

buffer = ''
Zip::Archive.open_buffer(buffer, Zip::CREATE) do |archive|
files.each do |wood, report|
title = wood.abbreviation+".txt"
archive.add_buffer(title, report);
end
end
file_name = "dimter_#{@offer.customerName}_#{Time.now.strftime("%m%d%Y_%H%M")}.zip"
send_data buffer, :type => 'application/zip', :disposition => 'attachment', :filename => file_name

关于ruby-on-rails - 如何仅修改内存中的 zip 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4350559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com