The PutFile method uploads the contents of
a file to the current storage container. If an object exists with
the same label, it will be replaced. During the transfer, the
OnProgress event will fire periodically,
enabling the application to update any user interface objects such as a
progress bar.
Although storage object labels are similar to Windows file names,
they are case-sensitive. When requesting information about an object,
your application must specify the label name exactly as it was
created using this method. The object label cannot contain wildcard characters.
If the label identifies an object that already exists in the
container, and that object was created with the
webObjectReadOnly attribute, this method will fail. To replace
a read-only object, the application must explicitly move, rename
or delete the existing object.
If a content type is provided, it must specify a valid MIME
media type and subtype. For example, normal text has a content
type of text/plain while XML-formatted text
would have a content type of text/xml. Data that
contains unstructured binary data is typically identified as
application/octet-stream. If you do not specify a
content type, an appropriate content type will be determined
automatically based on the file name and contents.
If you wish to upload the contents of a string or byte array, use the
PutData method.
When this method returns, various properties such as ObjectId
and ObjectLabel will be updated to reflect the values
associated with the object that was created or replaced on the server.