File Upload
File uploading is very simple. Files are detected and turned into
Amber::Router::File
and put into a temporary file cache.You can access files from the
params
macro using the files
method.params.files
This will return a
Hash(String, Amber::Router::File)
object that you can work with. The attributes you can access are:file : File
filename : String?
headers : HTTP::Headers
creation_time : Time?
modification_time : Time?
read_time : Time?
size : UInt64?
For example, let's say we have a controller with a
create
method that we want someone to POST
a JSON body that includes a file to upload:# header: `accept: audio/mp3`
#
# POST body
# {
# "audio_file": // binary data for the audio file
# "file_name": "some_file_name.mp3"
# }
def create
uploaded_file = params.files["audio_file"]
uploaded_file_name = params["file_name"]
# Do whatever you want with the files and your method 😄
end
Last modified 3mo ago