作业附件乱码优化
This commit is contained in:
parent
1724ae430e
commit
22d8fc9abd
|
@ -1,4 +1,8 @@
|
|||
require 'zip'
|
||||
#coding=utf-8
|
||||
|
||||
require "base64"
|
||||
require 'zip'
|
||||
|
||||
class ZipdownController < ApplicationController
|
||||
#查找项目(课程)
|
||||
before_filter :find_project_by_bid_id, :only => [:assort]
|
||||
|
@ -11,7 +15,12 @@ class ZipdownController < ApplicationController
|
|||
def download
|
||||
if User.current.logged?
|
||||
begin
|
||||
send_file "#{OUTPUT_FOLDER}/#{params[:file]}", :filename => filename_for_content_disposition(params[:filename]), :type => detect_content_type(params[:file])
|
||||
if params[:base64file]
|
||||
file = Base64.decode64(params[:base64file])
|
||||
send_file "#{OUTPUT_FOLDER}/#{file}", :filename => filename_for_content_disposition(file), :type => detect_content_type(file)
|
||||
else
|
||||
send_file "#{OUTPUT_FOLDER}/#{params[:file]}", :filename => filename_for_content_disposition(params[:filename]), :type => detect_content_type(params[:file])
|
||||
end
|
||||
rescue => e
|
||||
render file: 'public/no_file_found.html'
|
||||
end
|
||||
|
@ -107,7 +116,9 @@ class ZipdownController < ApplicationController
|
|||
bid_homework_path, OUTPUT_FOLDER)
|
||||
}
|
||||
[{files:[out_file.file_path], count: 1, index: 1,
|
||||
real_file: out_file.file_path, file: File.basename(out_file.file_path),
|
||||
real_file: out_file.file_path,
|
||||
file: File.basename(out_file.file_path),
|
||||
base64file: Base64.encode64(File.basename(out_file.file_path)),
|
||||
size:(out_file.pack_size / 1024.0 / 1024.0).round(2)
|
||||
}]
|
||||
end
|
||||
|
@ -129,7 +140,9 @@ class ZipdownController < ApplicationController
|
|||
bid_homework_path, OUTPUT_FOLDER)
|
||||
}
|
||||
[{files:[out_file.file_path], count: 1, index: 1,
|
||||
real_file: out_file.file_path, file: File.basename(out_file.file_path),
|
||||
real_file: out_file.file_path,
|
||||
file: File.basename(out_file.file_path),
|
||||
base64file: Base64.encode64(File.basename(out_file.file_path)),
|
||||
size:(out_file.pack_size / 1024.0 / 1024.0).round(2)
|
||||
}]
|
||||
end
|
||||
|
|
|
@ -870,7 +870,10 @@ function redo() {
|
|||
window.location.reload()
|
||||
}
|
||||
|
||||
function encodeHomeworkUrl(url){
|
||||
function encodeHomeworkUrl(url, is_base64){
|
||||
if(typeof is_base64 === 'boolean' && is_base64){
|
||||
return '/zipdown/download?base64file='+url;
|
||||
}
|
||||
var file = encodeURI(url).replace(/\+/g, '%2B');
|
||||
return '/zipdown/download?file='+file;
|
||||
}
|
||||
|
@ -891,7 +894,10 @@ $(function(){
|
|||
}
|
||||
|
||||
if(res.length==1){
|
||||
location.href = encodeHomeworkUrl(res[0].file);return;
|
||||
if(res[0].base64file){
|
||||
location.href = encodeHomeworkUrl(res[0].base64file, true);return;
|
||||
}
|
||||
location.href = encodeHomeworkUrl(res[0].file);return;
|
||||
}
|
||||
|
||||
document.getElementById('light').style.display='block';
|
||||
|
@ -904,8 +910,12 @@ $(function(){
|
|||
} else {
|
||||
des = '第'+res[i].index+'个学生的作品下载';
|
||||
}
|
||||
$('<li><span class="upload_box_span" >'+(i+1)+'.</span> <a href="'+ encodeHomeworkUrl(res[i].file) +'">'+des+'</a><span class="c_grey"> (共'+res[i].size+'M)</span> </li>').appendTo($container);
|
||||
|
||||
if(res[i].base64file){
|
||||
$('<li><span class="upload_box_span" >'+(i+1)+'.</span> <a href="'+ encodeHomeworkUrl(res[i].base64file, true) +'">'+des+'</a><span class="c_grey"> (共'+res[i].size+'M)</span> </li>').appendTo($container);
|
||||
} else {
|
||||
$('<li><span class="upload_box_span" >'+(i+1)+'.</span> <a href="'+ encodeHomeworkUrl(res[i].file) +'">'+des+'</a><span class="c_grey"> (共'+res[i].size+'M)</span> </li>').appendTo($container);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -973,3 +983,14 @@ function showNormalImage(id) {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
$(function(){
|
||||
//at 加链接
|
||||
$("span.at").hover(function(){
|
||||
$(this).css('cursor', 'pointer');
|
||||
});
|
||||
$("span.at").live('click', function(){
|
||||
var userId = $(this).attr('data-user-id');
|
||||
$(window.location).attr('href', '/users/'+userId);
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue