To upload a file to Box via direct upload, make an API call to the
POST /files/content API with the content of the file, the desired
file name, and the folder ID.
To upload files to the Archive folder, you need to first enable the Global
Content Manager (GCM) scope in the Developer Console.
Preflight checkTo prevent wasting time and bandwidth uploading a file that is going to be
rejected it is recommended to perform a pre-flight check before
uploading the file.
The request body of this API uses a content type of multipart/form-data. This
is used to transmit two parts, namely the file attributes and the file’s actual
content.The first part is called attributes and contains a JSON object with
information about the file, including the name of the file and the id of the
parent folder.The following is an example a test.txt being uploaded to the root folder of
the user.
The attributes JSON part of the multi-part body must come before the file
part of the multipart form data. When out of order, the API will return a HTTP
400 status code with an error code of metadata_after_file_contents.
To learn more about all the parameters available when uploading files, head over
to the reference documentation for this API call. These parameters
include a content-md5 that can be set to ensure a file is not corrupted in
transit, and the ability to explicitly specify the file creation time at a
different time than the upload time.
Direct uploads are limited to a maximum file size of 50MB. For larger files,
please use the chunked upload APIs.Upload limits are dictated by the type of account of the authenticated user.
More information can be found in our community article on this topic.