123456789_123456789_123456789_123456789_123456789_

Class: ActionDispatch::Http::UploadedFile

Relationships & Source Files
Inherits: Object
Defined in: actionpack/lib/action_dispatch/http/upload.rb

Overview

Models uploaded files.

The actual file is accessible via the #tempfile accessor, though some of its interface is available directly for convenience.

Uploaded files are temporary files whose lifespan is one request. When the object is finalized Ruby unlinks the file, so there is no need to clean them with a separate maintenance task.

Instance Attribute Summary

Instance Method Summary

Instance Attribute Details

#content_type (rw)

A string with the MIME type of the file.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/upload.rb', line 18

attr_accessor :content_type

#eof?Boolean (readonly)

Shortcut for tempfile.eof?.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/upload.rb', line 79

def eof?
  @tempfile.eof?
end

#headers (rw)

A string with the headers of the multipart request.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/upload.rb', line 26

attr_accessor :headers

#original_filename (rw)

The basename of the file in the client.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/upload.rb', line 15

attr_accessor :original_filename

#tempfile (rw) Also known as: #to_io

A Tempfile object with the actual uploaded file. Note that some of its interface is available directly.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/upload.rb', line 22

attr_accessor :tempfile

#to_io (readonly)

Alias for #tempfile.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/upload.rb', line 23

alias :to_io :tempfile

Instance Method Details

#close(unlink_now = false)

Shortcut for tempfile.close.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/upload.rb', line 59

def close(unlink_now = false)
  @tempfile.close(unlink_now)
end

#open

Shortcut for tempfile.open.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/upload.rb', line 54

def open
  @tempfile.open
end

#path

Shortcut for tempfile.path.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/upload.rb', line 64

def path
  @tempfile.path
end

#read(length = nil, buffer = nil)

Shortcut for tempfile.read.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/upload.rb', line 49

def read(length = nil, buffer = nil)
  @tempfile.read(length, buffer)
end

#rewind

Shortcut for tempfile.rewind.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/upload.rb', line 69

def rewind
  @tempfile.rewind
end

#size

Shortcut for tempfile.size.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/upload.rb', line 74

def size
  @tempfile.size
end