如果缺少某一附件。在下载后的文件增加相关说明文档

This commit is contained in:
sw 2015-01-09 15:59:42 +08:00
parent 82c2a659df
commit 9ef3849fe3
2 changed files with 15 additions and 7 deletions

View File

@ -75,16 +75,21 @@ class ZipdownController < ApplicationController
def zip_homework_by_user(homeattach) def zip_homework_by_user(homeattach)
homeworks_attach_path = [] homeworks_attach_path = []
not_exist_file = []
# 需要将所有homework.attachments遍历加入zip # 需要将所有homework.attachments遍历加入zip
# 并且返回zip路径 # 并且返回zip路径
homeattach.attachments.each do |attach| homeattach.attachments.each do |attach|
homeworks_attach_path << attach.diskfile if File.exist?(attach.diskfile) if File.exist?(attach.diskfile)
homeworks_attach_path << attach.diskfile
else
not_exist_file << attach.filename
end
end end
zipping("#{homeattach.user.lastname}#{homeattach.user.firstname}_#{((homeattach.user.user_extensions.nil? || homeattach.user.user_extensions.student_id.nil?) ? "" : homeattach.user.user_extensions.student_id)}_#{Time.now.to_i.to_s}.zip", homeworks_attach_path, OUTPUT_FOLDER, true) zipping("#{homeattach.user.lastname}#{homeattach.user.firstname}_#{((homeattach.user.user_extensions.nil? || homeattach.user.user_extensions.student_id.nil?) ? "" : homeattach.user.user_extensions.student_id)}_#{Time.now.to_i.to_s}.zip", homeworks_attach_path, OUTPUT_FOLDER, true, not_exist_file)
end end
def zipping(zip_name_refer, files_paths, output_path, is_attachment=false) def zipping(zip_name_refer, files_paths, output_path, is_attachment=false, not_exist_file=[])
# 输入待打包的文件列表已经打包文件定位到ouput_path # 输入待打包的文件列表已经打包文件定位到ouput_path
ic = Iconv.new('GBK//IGNORE', 'UTF-8//IGNORE') ic = Iconv.new('GBK//IGNORE', 'UTF-8//IGNORE')
input_filename = files_paths input_filename = files_paths
@ -101,9 +106,11 @@ class ZipdownController < ApplicationController
zipfile.add(rename_file, filename) zipfile.add(rename_file, filename)
end end
#zipfile.get_output_stream('ReadMe') do |os| unless not_exist_file.empty?
# os.write 'Homeworks' zipfile.get_output_stream('FILE_LOST.txt') do |os|
#end os.write l(:label_file_lost) + not_exist_file.join(',').to_s
end
end
end end
zipfile_name zipfile_name
rescue Errno => e rescue Errno => e
@ -119,4 +126,4 @@ class ZipdownController < ApplicationController
attach = Attachment.find_by_disk_filename(name) attach = Attachment.find_by_disk_filename(name)
attach.filename attach.filename
end end
end end

View File

@ -2239,4 +2239,5 @@ zh:
label_course_prompt: 课程: label_course_prompt: 课程:
label_contain_resource: 已包含资源: label_contain_resource: 已包含资源:
label_quote_resource_failed: ",此资源引用失败! " label_quote_resource_failed: ",此资源引用失败! "
label_file_lost: 以下文件在服务器丢失: