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
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.
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