#9 Active Storage - io must be rewindable
This commit is contained in:
parent
96921f43ce
commit
9e5fcaa4e0
@ -630,8 +630,17 @@ module RedmineDmsf
|
|||||||
|
|
||||||
new_revision.disk_filename = new_revision.new_storage_filename unless reuse_revision
|
new_revision.disk_filename = new_revision.new_storage_filename unless reuse_revision
|
||||||
if new_revision.save
|
if new_revision.save
|
||||||
Rails.logger.info ">>> #{request.body.class.name}: #{request.body.respond_to?(:rewind)}"
|
if request.body.respond_to?(:rewind)
|
||||||
new_revision.copy_file_content request.body
|
new_revision.copy_file_content request.body
|
||||||
|
else # A workaround for Webrick that doesn't support rewind
|
||||||
|
stream = StringIO.new
|
||||||
|
while (buffer = request.body.read(8_192))
|
||||||
|
stream.write buffer
|
||||||
|
end
|
||||||
|
stream.rewind
|
||||||
|
new_revision.copy_file_content stream
|
||||||
|
stream.close
|
||||||
|
end
|
||||||
new_revision.save
|
new_revision.save
|
||||||
# Notifications
|
# Notifications
|
||||||
DmsfMailer.deliver_files_updated project, [f]
|
DmsfMailer.deliver_files_updated project, [f]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user