Prevent folder / 0 size files from being uploaded.
This commit is contained in:
parent
5ed8014964
commit
57a15b3093
@ -62,8 +62,22 @@ class DmsfUploadController < ApplicationController
|
|||||||
f.write(buffer)
|
f.write(buffer)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
if File.size("#{DmsfHelper.temp_dir}/#{@disk_filename}") <= 0
|
||||||
render :layout => false
|
begin
|
||||||
|
File.delete("#{DmsfHelper.temp_dir}/#{@disk_filename}")
|
||||||
|
rescue
|
||||||
|
end
|
||||||
|
render :layout => nil, :json => { :jsonrpc => "2.0",
|
||||||
|
:error => {
|
||||||
|
:code => 103,
|
||||||
|
:message => l(:header_minimum_filesize),
|
||||||
|
:details => l(:error_minimum_filesize,
|
||||||
|
:file => @tempfile.original_filename.to_s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
render :layout => false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
#TODO: flash notice when files saved and unlocked
|
#TODO: flash notice when files saved and unlocked
|
||||||
|
|||||||
@ -49,7 +49,6 @@ class DmsfMailer < Mailer
|
|||||||
end
|
end
|
||||||
|
|
||||||
def send_documents(user, email_to, email_cc, email_subject, zipped_content, email_plain_body)
|
def send_documents(user, email_to, email_cc, email_subject, zipped_content, email_plain_body)
|
||||||
debugger
|
|
||||||
zipped_content_data = open(zipped_content, "rb") {|io| io.read }
|
zipped_content_data = open(zipped_content, "rb") {|io| io.read }
|
||||||
|
|
||||||
@body = email_plain_body
|
@body = email_plain_body
|
||||||
|
|||||||
@ -98,20 +98,27 @@
|
|||||||
|
|
||||||
pluploader.bind('FileUploaded', function(pluploader, file, response) {
|
pluploader.bind('FileUploaded', function(pluploader, file, response) {
|
||||||
var responseObject = jQuery.parseJSON(response.response);
|
var responseObject = jQuery.parseJSON(response.response);
|
||||||
var disk_filename_input = jQuery("<input/>").attr("type","hidden")
|
if (responseObject.error == null) {
|
||||||
.attr("name","uploaded[" + dmsfFileFieldCount + "][disk_filename]")
|
var disk_filename_input = jQuery("<input/>").attr("type","hidden")
|
||||||
.val(responseObject.disk_filename);
|
.attr("name","uploaded[" + dmsfFileFieldCount + "][disk_filename]")
|
||||||
uploader.append(disk_filename_input);
|
.val(responseObject.disk_filename);
|
||||||
var content_type_input = jQuery("<input/>").attr("type","hidden")
|
uploader.append(disk_filename_input);
|
||||||
.attr("name","uploaded[" + dmsfFileFieldCount + "][content_type]")
|
var content_type_input = jQuery("<input/>").attr("type","hidden")
|
||||||
.val(responseObject.content_type);
|
.attr("name","uploaded[" + dmsfFileFieldCount + "][content_type]")
|
||||||
uploader.append(content_type_input);
|
.val(responseObject.content_type);
|
||||||
var original_filename_input = jQuery("<input/>").attr("type","hidden")
|
uploader.append(content_type_input);
|
||||||
.attr("name","uploaded[" + dmsfFileFieldCount + "][original_filename]")
|
var original_filename_input = jQuery("<input/>").attr("type","hidden")
|
||||||
.val(responseObject.original_filename);
|
.attr("name","uploaded[" + dmsfFileFieldCount + "][original_filename]")
|
||||||
uploader.append(original_filename_input);
|
.val(responseObject.original_filename);
|
||||||
|
uploader.append(original_filename_input);
|
||||||
|
} else {
|
||||||
|
file.status = plupload.FAILED;
|
||||||
|
responseObject.error.file = file;
|
||||||
|
pluploader.trigger('Error', responseObject.error);
|
||||||
|
}
|
||||||
|
|
||||||
if(pluploader.total.uploaded == pluploader.files.length) jQuery('#uploadform').submit();
|
if(pluploader.total.uploaded == pluploader.files.length) jQuery('#uploadform').submit();
|
||||||
|
else if(pluploader.total.uploaded + pluploader.total.failed == pluploader.files.length) setTimeout(2000, function() {jQuery('#uploadform').submit();})
|
||||||
else dmsfFileFieldCount++;
|
else dmsfFileFieldCount++;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -186,4 +186,6 @@ en:
|
|||||||
:error_max_email_filesize_exceeded: "You've exceeded the maximum filesize for sending via email. (%{number} MB)"
|
:error_max_email_filesize_exceeded: "You've exceeded the maximum filesize for sending via email. (%{number} MB)"
|
||||||
:note_maximum_email_filesize: "Limits maximum filesize that can be sent via email. 0 means unlimited. Number is in MB."
|
:note_maximum_email_filesize: "Limits maximum filesize that can be sent via email. 0 means unlimited. Number is in MB."
|
||||||
:label_maximum_email_filesize: "Maximum email attachment size"
|
:label_maximum_email_filesize: "Maximum email attachment size"
|
||||||
|
:header_minimum_filesize: "File Error."
|
||||||
|
:error_minimum_filesize: "The file %{file} is 0 bytes and will not be attached."
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user