Defect #3911 » uploading_attachment_file_with_jruby.patch
| app/controllers/application.rb | ||
|---|---|---|
| 206 | 206 |
if attachments && attachments.is_a?(Hash) |
| 207 | 207 |
attachments.each_value do |attachment| |
| 208 | 208 |
file = attachment['file'] |
| 209 |
next unless file && file.size > 0
|
|
| 209 |
next unless file && (file.size > 0 || File.size(file) > 0)
|
|
| 210 | 210 |
a = Attachment.create(:container => obj, |
| 211 | 211 |
:file => file, |
| 212 | 212 |
:description => attachment['description'].to_s.strip, |
| app/models/attachment.rb | ||
|---|---|---|
| 54 | 54 |
def file=(incoming_file) |
| 55 | 55 |
unless incoming_file.nil? |
| 56 | 56 |
@temp_file = incoming_file |
| 57 |
if @temp_file.size > 0 |
|
| 57 |
if @temp_file.size > 0 || File.size(@temp_file) > 0
|
|
| 58 | 58 |
self.filename = sanitize_filename(@temp_file.original_filename) |
| 59 | 59 |
self.disk_filename = Attachment.disk_filename(filename) |
| 60 | 60 |
self.content_type = @temp_file.content_type.to_s.chomp |
| 61 |
self.filesize = @temp_file.size |
|
| 61 |
self.filesize = (@temp_file.size > 0)? @temp_file.size : File.size(@temp_file) |
|
| 62 |
else |
|
| 63 |
logger.debug("temp_file size is lower or equal to 0")
|
|
| 62 | 64 |
end |
| 63 | 65 |
end |
| 64 | 66 |
end |
| ... | ... | |
| 70 | 72 |
# Copies the temporary file to its final location |
| 71 | 73 |
# and computes its MD5 hash |
| 72 | 74 |
def before_save |
| 73 |
if @temp_file && (@temp_file.size > 0) |
|
| 75 |
if @temp_file && (@temp_file.size > 0 || File.size(@temp_file) > 0)
|
|
| 74 | 76 |
logger.debug("saving '#{self.diskfile}'")
|
| 75 | 77 |
md5 = Digest::MD5.new |
| 76 | 78 |
File.open(diskfile, "wb") do |f| |