Method: IsoDoc::WordFunction::Body#imgsrc

Defined in:
lib/isodoc/word_function/body.rb

#imgsrc(uri) ⇒ Object



200
201
202
203
204
205
206
207
208
209
# File 'lib/isodoc/word_function/body.rb', line 200

def imgsrc(uri)
  return uri unless %r{^data:image/}.match uri
  %r{^data:image/(?<imgtype>[^;]+);base64,(?<imgdata>.+)$} =~ uri
  uuid = UUIDTools::UUID.random_create.to_s
  fname = "#{uuid}.#{imgtype}"
  new_file = File.join(tmpimagedir, fname)
  @files_to_delete << new_file
  File.open(new_file, "wb") { |f| f.write(Base64.strict_decode64(imgdata)) }
  File.join(rel_tmpimagedir, fname)
end