This topic contains information about POST fields (both standard and custom) which are sent by Image Uploader. Use it when writing the server-side upload processing code. You should extract them in the same manner as if they were sent through the standard HTML form. See Saving Uploaded Files in ASP.NET and Saving Uploaded Files in PHP topics for more details on how to work with them.

Standard Fields

Note

If you use Image Uploader ASP.NET or Image Uploader PHP you can refer standard fields via the PostFields constants.

The table below contains a list of POST fields that are generated and uploaded by Image Uploader, if they are enabled by the metadata.enableAllStandardFields(Boolean) or metadata.enableStandardField(String, Boolean) methods.

Name Type Description
Upload Information
PackageIndex Integer

Zero-based index of the package inside the current upload session.

Using this field you can recognize the order of the uploaded files if they were sent in different packages.

PackageCount Integer

A total number of packages in the current upload session.

In particular, when FilesPerPackage is 1, it can be used to get a total number of files uploaded within this upload session.

PackageGuid GUID

Unique identifier of the current upload session.

When the upload is separated into several packages, all of them will have the same GUID. You can use it to determine whether files are uploaded in the same session (useful for concurrent uploads from several users) or not.

PackageFileCount Integer Number of files uploaded in the current package.
RequestComplete Integer

Request integrity flag.

This field is sent at the end of the upload request. Thus, if this field is not received the upload is considered as cancelled.

Name Type Description
Original File Information
SourceName_N * String

Name of the original Nth file. If entire folder is uploaded, this field includes a folder structure, i.e. relative path of the file (relatively the folder which is being uploaded, including this folder name).

It is useful to employ this field to get the name of the original file when only a resized copy of an image is uploaded.

SourceSize_N * Integer Size of the original Nth file in bytes.
SourceCreatedDateTime_N * Time

Creation date of the original Nth file in EXIF-style format:
YYYY:MM:DD hh:mm:ss
For example, 28th of March, 2:40PM would be:
2005:03:28 14:40:00

Note

When Image Uploader is used in non-Internet Explorer browsers, this field contains an empty value.

SourceLastModifiedDateTime_N * Time

The last modification date of the original Nth file in EXIF-style format:
YYYY:MM:DD hh:mm:ss
For example, 28th of March, 2:40PM would be:
2005:03:28 14:40:00

SourceCreatedDateTimeLocal_N * Time

The local creation date of the original Nth file in EXIF-style format:
YYYY:MM:DD hh:mm:ss
For example, 28th of March, 2:40PM would be looking in the following way:
2005:03:28 14:40:00

Note

When uploading in non-Internet Explorer browsers, this field contains an empty value.

SourceLastModifiedDateTimeLocal_N * Time

The local last modification date of the original Nth file in EXIF-style format:
YYYY:MM:DD hh:mm:ss
For example, 28th of March, 2:40PM would be:
2005:03:28 14:40:00

SourceWidth_N * Integer Width of the original Nth file in pixels if it is an image. Otherwise, this field contains 0.
SourceHeight_N * Integer Height of the original Nth file in pixels if it is an image. Otherwise, this field contains 0.
HorizontalResolution_N * Integer Horizontal resolution of the original Nth file if it is an image (measured in DPI - dots per inches). Otherwise, this field contains 0.
VerticalResolution_N * Integer Vertical resolution of the original Nth file if it is an image (measured in DPI - dots per inches). Otherwise, this field contains 0.
Name Type Description
Converted File Information
The fields from this group are sent if at least one Converter is specified.
FileX_N ** File

The Xth converted file for the Nth user-selected file.

Depending on the FileXMode_N field value, this field contains a file with one of the following names:

  • name.ext for sourceFile mode
  • name.ext_ThumbnailX.jpg for thumbnail mode
  • name.ext_IconX.jpg for icon mode
  • name.ext_CompressedX.zip for zip mode
FileXMode_N ** String

The mode of the Xth converted file created for the Nth user-selected file. Possible values are:

  • sourceFile means the Xth converted file is a copy of the original file.
  • thumbnail means the Xth converted file is a resized copy of the original file if it is an image.
  • icon means the Xth converted file is a system icon associated with the original file type.
  • zip means the Xth converted file is a ZIP archive of the original file.
  • none means the Xth converted file was not created.
FileXSize_N ** Integer Size of the Xth converted file created for the Nth user-selected file (in bytes).
FileXWidth_N ** Integer

Actual width of the Xth converted file created for the Nth user-selected file if it is an image (in pixels). Otherwise, this field contains 0.

Depending on the Converter.ThumbnailFitMode, this value may differ from the value specified through the Converter.ThumbnailWidth property. This happens because Image Uploader preserves the aspect ratio of the image and seldom can use the same dimensions as specified in thumbnail parameters.

FileXHeight_N ** Integer

Actual height of the Xth converted file created for the Nth user-selected file if it is an image (in pixels). Otherwise, this field contains 0.

Depending on the ThumbnailFitMode, this value may differ from the value specified through the Converter.ThumbnailHeight property. This happens because Image Uploader preserves the aspect ratio of the image and seldom can use the same dimensions as specified in thumbnail parameters.

FileXChunkIndex_N ** Integer

Zero-based index of this chunk of the Xth converted file created for the Nth user-selected file.

Note

This field is sent if UploadSettings.ChunkSize is greater than 0.

FileXChunkCount_N ** Integer

Number of chunks of the Xth converted file created for the Nth user-selected file.

Note

This field is sent if ChunkSize is greater than 0.

Name Type Description
User Input
Angle_N * Integer

Rotation angle of the Nth user-specified file (measured in degrees clockwise).

You can use it if you want to rotate images on the server side (e.g. if you upload original files only). Possible values are:

  • 0
  • 90
  • 180
  • 270
Description_N * String User-provided description of the Nth user-selected file.
Tag_N * String Tag attached to the Nth user-selected file.
Crop_N * String

Crop bounds of the Nth user-selected image in the following format: left,top,right,bottom. For non-image files this field contains 0,0,0,0 value.

You can use it if you want to crop images on the server side (e.g. if you upload only original file).

* The N character appended to the field name is a placeholder for an index of this file in the uploaded package. This index is zero-based. For example, Image Uploader sends one file per package, so to retrieve a name of this file use the SourceName_0 field (the same is true for other XXX_N fields).

** Image Uploader can generate unlimited number of converted files per each user-selected file and send them to the server. The X character is a placeholder for an index of the converted file created for the Nth user-selected file. Maximum X value is not bigger than the number of Converter instances added to the Uploader.Converters array. For example, if you set two converters, the following fields will be available on the server: File0_0 and File1_0.

Note

Standard POST fields can be renamed using the metadata.renameStandardField(String, String) method. Read the configuring-post-format.htm topic for more details.

Custom Fields

Image Uploader is able to send not only fields described in the table above, but also custom fields. It can be done in two ways:

  • Using the Metadata.AdditionalFormName property. You just add the <form> element somewhere to your code, add elements to it (<input>, <select>, <textarea> elements are supported), and set its name as a value of this property. Then Image Uploader automatically appends data from this <form> to the request that is sent to the server.
  • Using the metadata.addCustomField(String, String, Boolean) method. It takes the name of a field you want to receive on the server and its value. The most convenient place to use this method is the BeforeUpload event. Any custom fields added via this method can be removed by calling the metadata.removeCustomField(String) method.

Additional Fields

Image Uploader can also extract and generate additional information for user-selected files and send it in POST request. In particular, you can extract EXIF and IPTC metadata from images just by specifying desired fields in the Metadata.Exif and Metadata.Iptc properties.

If it is necessary to organize robust upload and check the integrity of uploaded files, you can use the Metadata.Hash property. It specifies a hash algorithm used to generate a hash sum for each user-selected file. Thus, to verify whether a file is uploaded successfully, you need to calculate its hash sum using the same algorithm and compares it with the uploaded one.

See the Uploading Additional Data in ASP.NET and Uploading Additional Data in PHP topics for details.