PutFile Method  

Upload a local file to the current storage container.


object.PutFile( LocalFile, ObjectLabel, [ContentType], [Attributes] )


A string which specifies the name of the local file that will be uploaded to the current storage container. If a path is not specified, the file will be opened in the current working directory.
A string which specifies the label of the object that should be created. If an object with the same label already exists, it will be replaced with the contents of the file.
An optional string argument that identifies the contents of the file being stored. If this parameter is omitted, or specifies a zero-length string, the method will attempt to automatically determine the content type based on the file name and contents.
An optional integer argument which specifies the attributes associated with the storage object. This value can be a combination of one or more of the following bitflags using a bitwise OR operation. If this parameter is omitted, the default attribute webObjectNormal will be used.
Value Constant Description
1 webObjectNormal A normal object that that can be read and modified by the application. This is the default attribute for new objects that are created by the application.
2 webObjectReadOnly A read-only object that can only be read by the application. Attempts to modify or replace the contents of the object will fail. Read-only objects can be deleted.
4 webObjectHidden A hidden object. Objects with this attribute are not returned when enumerated using the FindFirst and FindNext methods. The object can only be accessed directly when specifying its label.

Return Value

A value of True is returned on success. If an error occurs, a value of False is returned and the LastError property will return the specific cause of the failure..


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.

See Also

GetData Method, GetFile Method, PutData Method, OnProgress Event