#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
|
||||
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
|
||||
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
|
||||
# Notifications
|
||||
DmsfMailer.deliver_files_updated project, [f]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user