解决IE浏览器中--课程作业打包下载的文件名乱码

This commit is contained in:
guange 2015-06-10 15:36:11 +08:00
parent 25ac0100c7
commit 56f522f563
2 changed files with 6 additions and 5 deletions

View File

@ -24,7 +24,7 @@ class TestController < ApplicationController
end end
@paths = homeworks_attach_path @paths = homeworks_attach_path
zipfile = ziping homeworks_attach_path zipfile = ziping homeworks_attach_path
send_file zipfile, :filename => bid.name, send_file zipfile, :filename => filename_for_content_disposition(bid.name),
:type => detect_content_type(zipfile) :type => detect_content_type(zipfile)
rescue Errno::ENOENT => e rescue Errno::ENOENT => e
logger.error "[Errno::ENOENT] ===> #{e}" logger.error "[Errno::ENOENT] ===> #{e}"

View File

@ -11,7 +11,7 @@ class ZipdownController < ApplicationController
def download def download
if User.current.logged? if User.current.logged?
begin begin
send_file "#{OUTPUT_FOLDER}/#{params[:file]}", :filename => params[:filename], :type => detect_content_type(params[:file]) send_file "#{OUTPUT_FOLDER}/#{params[:file]}", :filename => filename_for_content_disposition(params[:filename]), :type => detect_content_type(params[:file])
rescue => e rescue => e
render file: 'public/no_file_found.html' render file: 'public/no_file_found.html'
end end
@ -59,9 +59,10 @@ class ZipdownController < ApplicationController
if homework != nil if homework != nil
unless homework.attachments.empty? unless homework.attachments.empty?
zipfile = zip_homework_by_user homework zipfile = zip_homework_by_user homework
send_file zipfile.file_path, :filename => ((homework.user.user_extensions.nil? || homework.user.user_extensions.student_id.nil?) ? "" : homework.user.user_extensions.student_id) + filename = ((homework.user.user_extensions.nil? || homework.user.user_extensions.student_id.nil?) ? "" : homework.user.user_extensions.student_id) +
"_" + homework.user.show_name + "_" + homework.user.show_name +
"_" + homework.name + ".zip", :type => detect_content_type(zipfile.file_path) if(zipfile) "_" + homework.name + ".zip"
send_file zipfile.file_path, :filename => filename_for_content_disposition(filename), :type => detect_content_type(zipfile.file_path) if(zipfile)
else else
render file: 'public/no_file_found.html' render file: 'public/no_file_found.html'
end end