JSUpload

Overview

The JSUpload class provides robust tools for managing uploaded files in Servoy applications. It supports accessing file contents as bytes, strings, or input streams and provides metadata retrieval for handling uploads. Developers can determine if files are stored in memory or on disk and write them to specified locations using the write method, which manages temporary files. Metadata associated with uploads, such as form field names and their values, can be accessed using the getFields and getFieldValue methods. The class also allows retrieval of file-specific details, including size, name, and content type, while ensuring compatibility with browsers that may include full file paths. The deleteFile method explicitly removes temporary files to free resources, complementing automatic cleanup processes. By combining file content management with metadata handling, JSUpload offers a streamlined solution for file upload operations in Servoy applications.

Methods Summarized

Type
Name
Summary

void

Delets this uploaded file so it will be cleaned up if it was streamed in a temp file.

This returns the bytes of the uploaded file, try to using streaming or file operation on it (so the bytes don't have to be full loaded in to memory)

Returns the value for a give form field that was give as metadata to this uploaded file

This returns the field names of the form fields that where give as metadata to this upload file.

Returns the contents of the file as as string in UTF-8 encoding.

If this returns false, then a tmp file is created for it.

Writes the contents of this upload right to a file.

Methods Detailed

deleteFile()

Delets this uploaded file so it will be cleaned up if it was streamed in a temp file. The system tries to clean this up for you, but that can take a while and depends on Garbage Collection. So it is better to be explicit and delete this file. if you use JSUpload.write(file) then the file is very likely moved instead of copied so the temp file is also removed.

Returns: void

getBytes()

This returns the bytes of the uploaded file, try to using streaming or file operation on it (so the bytes don't have to be full loaded in to memory)

Returns: Array the bytes of the upload file,

getContentType()

Returns: String the content type of this upload

getFieldValue(name)

Returns the value for a give form field that was give as metadata to this uploaded file

Parameters

  • String name The form fields name

Returns: String the value that was given or null

getFields()

This returns the field names of the form fields that where give as metadata to this upload file.

Returns: Array String[] Array of names of the field names

getName()

Returns: String the name of the upload file.

getSize()

Returns: Number the size of the upload

getString()

Returns the contents of the file as as string in UTF-8 encoding.

Returns: String the String contents

isInMemory()

If this returns false, then a tmp file is created for it. This means that you can also convert this to a JSFile and call rename() on it. But the method write(file) will always work by writing the contents of this upload file to a different file.

Returns: Boolean true if this upload is fully in memory (not saved to a temp file)

write(file)

Writes the contents of this upload right to a file. Use the file plugin to create a JSFile object that can be given to this function. If this file was not fully in memory (isInMemory == false) then this will just stream the tmp file to the give file. If it was a temp file then it will try to move the file to the given location (so temp file is moved and because of that already deleted/cleaned up).

Parameters

  • Object file the file object where to write to can be a JSFile or path string

Returns: Boolean if write could be done


Last updated