Ruby on rails 从Rails大量下载(可能使用回形针)
我需要允许在Rails中多次下载小文档,最好使用回形针(我已经使用它来实现上传) 具体需要:Ruby on rails 从Rails大量下载(可能使用回形针),ruby-on-rails,download,paperclip,Ruby On Rails,Download,Paperclip,我需要允许在Rails中多次下载小文档,最好使用回形针(我已经使用它来实现上传) 具体需要: 压缩文件以供下载 一起下载不同的文件类型(.jpeg、.doc、docx、.pdf) 我在网上找到了很多教程,可以多次上传,但不能下载。我感谢你的帮助。谢谢 在应该处理下载的控制器上定义下载操作。该方法可以如下所示:(给定一个带有回形针附件的文件模型,称为附件) 在应该处理下载的控制器上定义下载操作。该方法可以如下所示:(给定一个带有回形针附件的文件模型,称为附件) 添加到Gemfilegem'ru
- 压缩文件以供下载
- 一起下载不同的文件类型(.jpeg、.doc、docx、.pdf)
我在网上找到了很多教程,可以多次上传,但不能下载。我感谢你的帮助。谢谢 在应该处理下载的控制器上定义
下载
操作。该方法可以如下所示:(给定一个带有回形针附件的文件
模型,称为附件
)
在应该处理下载的控制器上定义
下载
操作。该方法可以如下所示:(给定一个带有回形针附件的文件
模型,称为附件
)
添加到Gemfile
gem'rubyzip'
#foo model
...
has_many :uploads
...
#foo controller
def download
@foo = Foo.find(params[:id])
unless @foo.uploads.empty?
send_file Upload.zip(@foo),
:type => 'application/zip',
:disposition => 'attachment',
:filename => "Foo-#{@foo.id}.zip"
end
end
#Upload model
def self.zip foo
archive = File.join("public", "files", foo.id.to_s, foo.id.to_s) +".zip"
unless File.exist? archive
files = foo.uploads.all
Zip::ZipFile.open(archive, 'w') do |zip_file|
files.each do |foo_file|
zip_file.add(foo_file.upload_file_name,foo_file.upload.path)
end
end
end
archive
end
添加到Gemfile
gem'rubyzip'
#foo model
...
has_many :uploads
...
#foo controller
def download
@foo = Foo.find(params[:id])
unless @foo.uploads.empty?
send_file Upload.zip(@foo),
:type => 'application/zip',
:disposition => 'attachment',
:filename => "Foo-#{@foo.id}.zip"
end
end
#Upload model
def self.zip foo
archive = File.join("public", "files", foo.id.to_s, foo.id.to_s) +".zip"
unless File.exist? archive
files = foo.uploads.all
Zip::ZipFile.open(archive, 'w') do |zip_file|
files.each do |foo_file|
zip_file.add(foo_file.upload_file_name,foo_file.upload.path)
end
end
end
archive
end