The File plugin provides functionality to work with files.
Main features are:
When using the File plugin, it's important to take into account the differences and compatibility between different clients:
Many functions work only in the smart client or only on the server in the Headless or WebClient, some work in the WebClient's browser and that is mentioned in the doc (WebClient enabled) most of the time an extra parameter or some certain state must be set like a callback function, because in the WebClient the function will not wait for a result and then return the result, but will go on, and then the callback is called when it is done. (like showFileOpenDialog)
You have no control directly of the real files in a a WebClient, so the files on the pc of the browser. You can't directly target them to load into the client, or with saving you can't specify the target directory where it is getting saved. This is all fully controlled by the browser.
When using the streaming features of the File plugin, make sure that you set the directory "servoy.FileServerService.defaultFolder" of the File server plugin settings in the admin page. Don't reply on the default behavior, specify your own writable directory.
Because the File plugin works with 3 different kind of files (LocalFiles on disk, RemoteFiles on the server when streaming is used and Uploaded files from the webclient when the browser uploads a file), not all things that you call on a JSFile object will give you data that you expect, for example a Uploaded file that you get back in the callback method of a showFileOpenDialog in the webclient does not represent an actual File object on the server. It is a binary data object (blob) that is only in memory, so getParentFile() or getPath() will return null in these cases, you don't get access or a reference to the file path or directory of the browsers pc. Also setBytes() will result in an exception. Best things to use is the getBytes() method if you want to get the bytes and store that, that will work for all 3 types. If you want to store the bytes that a webclient uploaded in another file the quickest way to do that is to use:
var fileOnServer = plugins.file.convertToJSFile('/path/to/file/on/server');
plugins.file.writeFile(fileOnServer,uploadedFile.getBytes());
Return Types
{column:width=80px|padding=0px}{column}{column}{column}
Server Property Summary
{column:width=80px|padding=0px}{column}{column}{column}
Method Summary
appendToTXTFile(file, text)
Appends a string given in parameter to a file, using default platform encoding.
appendToTXTFile(file, text, encoding)
Appends a string given in parameter to a file, using the specified encoding.
appendToTXTFile(file, text)
Appends a string given in parameter to a file, using default platform encoding.
convertToJSFile(file)
Returns a JSFile instance corresponding to an alternative representation of a file (for example a string).
convertToRemoteJSFile(path)
Convenience return to get a JSFile representation of a server file based on its path.
copyFolder(source, destination)
Copies the sourcefolder to the destination folder, recursively.
createFile(targetFile)
Creates a JSFile instance.
createFolder(destination)
Creates a folder on disk.
createTempFile(prefix, suffix)
Creates a temporary file on disk.
deleteFile(destination)
Removes a file from disk.
deleteFolder(destination, showWarning)
Deletes a folder from disk recursively.
getDefaultUploadLocation()
Returns the default upload location path of the server.
getDesktopFolder()
Returns a JSFile instance that corresponds to the Desktop folder of the currently logged in user.
JSFile[]
getDiskList()
Returns an Array of JSFile instances correponding to the file system root folders.
getFileSize(path)
Returns the size of the specified file.
JSFile[]
getFolderContents(targetFolder)
Returns an array of JSFile instances corresponding to content of the specified folder.
JSFile[]
getFolderContents(targetFolder, fileFilter)
Returns an array of JSFile instances corresponding to content of the specified folder.
JSFile[]
getFolderContents(targetFolder, fileFilter, fileOption)
Returns an array of JSFile instances corresponding to content of the specified folder.
JSFile[]
getFolderContents(targetFolder, fileFilter, fileOption, visibleOption)
Returns an array of JSFile instances corresponding to content of the specified folder.
JSFile[]
getFolderContents(targetFolder, fileFilter, fileOption, visibleOption, lockedOption)
Returns an array of JSFile instances corresponding to content of the specified folder.
JSFile[]
getFolderContents(targetFolder)
Returns an array of JSFile instances corresponding to content of the specified folder.
JSFile[]
getFolderContents(targetFolder, fileFilter)
Returns an array of JSFile instances corresponding to content of the specified folder.
JSFile[]
getFolderContents(targetFolder, fileFilter, fileOption)
Returns an array of JSFile instances corresponding to content of the specified folder.
JSFile[]
getFolderContents(targetFolder, fileFilter, fileOption, visibleOption)
Returns an array of JSFile instances corresponding to content of the specified folder.
JSFile[]
getFolderContents(targetFolder, fileFilter, fileOption, visibleOption, lockedOption)
Returns an array of JSFile instances corresponding to content of the specified folder.
getHomeFolder()
Returns a JSFile instance corresponding to the home folder of the logged in used.
getModificationDate(path)
Returns the modification date of a file.
JSFile[]
getRemoteFolderContents(targetFolder)
Returns an array of JSFile instances corresponding to content of the specified folder on the server side.
JSFile[]
getRemoteFolderContents(targetFolder, fileFilter)
Returns an array of JSFile instances corresponding to content of the specified folder on the server side.
JSFile[]
getRemoteFolderContents(targetFolder, fileFilter, fileOption)
Returns an array of JSFile instances corresponding to content of the specified folder on the server side.
JSFile[]
getRemoteFolderContents(targetFolder, fileFilter, fileOption, visibleOption)
Returns an array of JSFile instances corresponding to content of the specified folder on the server side.
JSFile[]
getRemoteFolderContents(targetFolder, fileFilter, fileOption, visibleOption, lockedOption)
Returns an array of JSFile instances corresponding to content of the specified folder on the server side.
JSFile[]
getRemoteFolderContents(targetFolder)
Returns an array of JSFile instances corresponding to content of the specified folder on the server side.
JSFile[]
getRemoteFolderContents(targetFolder, fileFilter)
Returns an array of JSFile instances corresponding to content of the specified folder on the server side.
JSFile[]
getRemoteFolderContents(targetFolder, fileFilter, fileOption)
Returns an array of JSFile instances corresponding to content of the specified folder on the server side.
JSFile[]
getRemoteFolderContents(targetFolder, fileFilter, fileOption, visibleOption)
Returns an array of JSFile instances corresponding to content of the specified folder on the server side.
JSFile[]
getRemoteFolderContents(targetFolder, fileFilter, fileOption, visibleOption, lockedOption)
Returns an array of JSFile instances corresponding to content of the specified folder on the server side.
byte[]
readFile()
Reads all or part of the content from a binary file.
byte[]
readFile(file)
Reads all or part of the content from a binary file.
byte[]
readFile(file, size)
Reads all or part of the content from a binary file.
byte[]
readFile(file)
Reads all or part of the content from a binary file.
byte[]
readFile(file, size)
Reads all or part of the content from a binary file.
readTXTFile()
Read all content from a text file.
readTXTFile(file)
Read all content from a text file.
readTXTFile(file, charsetname)
Read all content from a text file.
readTXTFile(file)
Read all content from a text file.
readTXTFile(file, charsetname)
Read all content from a text file.
showDirectorySelectDialog()
Shows a directory selector dialog.
showDirectorySelectDialog(directory)
Shows a directory selector dialog.
showDirectorySelectDialog(directory, title)
Shows a directory selector dialog.
showDirectorySelectDialog(directory)
Shows a directory selector dialog.
showDirectorySelectDialog(directory, title)
Shows a directory selector dialog.
showFileOpenDialog()
Shows a file open dialog.
showFileOpenDialog(selectionMode)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory, multiselect)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory, multiselect, filter)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory, multiselect, filter, callbackfunction)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory, multiselect, filter, callbackfunction, title)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory, multiselect, callbackfunction)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory, callbackfunction)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory, multiselect)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory, multiselect, filter)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory, multiselect, filter, callbackfunction)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory, multiselect, filter, callbackfunction, title)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory, multiselect, callbackfunction)
Shows a file open dialog.
showFileOpenDialog(selectionMode, startDirectory, callbackfunction)
Shows a file open dialog.
showFileOpenDialog(selectionMode, callbackfunction)
Shows a file open dialog.
showFileOpenDialog(callbackfunction)
Shows a file open dialog.
showFileSaveDialog()
Shows a file save dialog.
showFileSaveDialog(fileNameDir)
Shows a file save dialog.
showFileSaveDialog(fileNameDir, title)
Shows a file save dialog.
showFileSaveDialog(fileNameDir)
Shows a file save dialog.
showFileSaveDialog(fileNameDir, title)
Shows a file save dialog.
streamFilesFromServer(files, serverFiles)
Stream 1 or more files from the server to the client.
streamFilesFromServer(files, serverFiles, callback)
Stream 1 or more files from the server to the client, the callback method is invoked after every file, with as argument
the filename that was transfered.
streamFilesToServer(files)
Overloaded method, only defines file(s) to be streamed
streamFilesToServer(files, serverFiles)
Overloaded method, defines file(s) to be streamed and a callback function
streamFilesToServer(files, serverFiles, callback)
Overloaded method, defines file(s) to be streamed, a callback function and file name(s) to use on the server
streamFilesToServer(files, callback)
Overloaded method, defines file(s) to be streamed and a callback function
writeTXTFile(file, text_data)
Writes data into a text file.
writeTXTFile(file, text_data, charsetname)
Writes data into a text file.
writeTXTFile(file, text_data, charsetname, mimeType)
Writes data into a text file.
writeTXTFile(file, text_data)
Writes data into a text file.
writeTXTFile(file, text_data, charsetname)
Writes data into a text file.
writeTXTFile(file, text_data, charsetname, mimeType)
Writes data into a text file.
writeXMLFile(file, xml_data)
Writes data into an XML file.
writeXMLFile(file, xml_data, encoding)
Writes data into an XML file.
writeXMLFile(file, xml_data)
Writes data into an XML file.
writeXMLFile(file, xml_data, encoding)
Writes data into an XML file.
{column:width=100%|padding=0px}{column}
Server Property Details
Replace with description
Since
Replace with version info
Parameters
Returns
Also see
External links
Sample
{column:width=100%|padding=0px}{column}
Method Details
appendToTXTFile
(file, text)
Replace with description
Since
Replace with version info
Returns
Boolean – true if appending worked
Also see
External links
Sample
// append some text to a text file: var ok = plugins.file.appendToTXTFile('myTextFile.txt', '\nMy fantastic new line of text\n');
appendToTXTFile
(file, text, encoding)
Replace with description
Since
Replace with version info
Returns
Boolean – true if appending worked
Also see
External links
Sample
// append some text to a text file: var ok = plugins.file.appendToTXTFile('myTextFile.txt', '\nMy fantastic new line of text\n');
appendToTXTFile
(file, text)
Replace with description
Since
Replace with version info
Returns
Boolean – true if appending worked
Also see
External links
Sample
// append some text to a text file: var ok = plugins.file.appendToTXTFile('myTextFile.txt', '\nMy fantastic new line of text\n');
appendToTXTFile
(file, text, encoding)
Replace with description
Since
Replace with version info
Also see
External links
Sample
// append some text to a text file: var ok = plugins.file.appendToTXTFile('myTextFile.txt', '\nMy fantastic new line of text\n');
convertToJSFile
(file)
Replace with description
Since
Replace with version info
Parameters
{Object} file
Returns
JSFile – JSFile
Also see
External links
Sample
var f = plugins.file.convertToJSFile("story.txt"); if (f.canRead()) application.output("File can be read.");
convertToRemoteJSFile
(path)
Replace with description
Since
Replace with version info
Parameters
{String} path – the path representing a file on the server (should start with "/")
Returns
JSFile – the JSFile
Also see
External links
Sample
var f = plugins.file.convertToRemoteJSFile('/story.txt'); if (f && f.canRead()) application.output('File can be read.');
copyFile
(source, destination)
Replace with description
Since
Replace with version info
Also see
External links
Sample
// Copy based on file names. if (!plugins.file.copyFile("story.txt", "story.txt.copy")) application.output("Copy failed."); // Copy based on JSFile instances. var f = plugins.file.createFile("story.txt"); var fcopy = plugins.file.createFile("story.txt.copy2"); if (!plugins.file.copyFile(f, fcopy)) application.output("Copy failed.");
copyFolder
(source, destination)
Replace with description
Since
Replace with version info
Returns
Boolean – success boolean
Also see
External links
Sample
// Copy folder based on names. if (!plugins.file.copyFolder("stories", "stories_copy")) application.output("Folder copy failed."); // Copy folder based on JSFile instances. var d = plugins.file.createFile("stories"); var dcopy = plugins.file.createFile("stories_copy_2"); if (!plugins.file.copyFolder(d, dcopy)) application.output("Folder copy failed.");
createFile
(targetFile)
Replace with description
Since
Replace with version info
Parameters
{Object} targetFile
Also see
External links
Sample
// Create the JSFile instance based on the file name. var f = plugins.file.createFile("newfile.txt"); // Create the file on disk. if (!f.createNewFile()) application.output("The file could not be created.");
createFolder
(destination)
Replace with description
Since
Replace with version info
Parameters
{Object} destination
Also see
External links
Sample
var d = plugins.file.convertToJSFile("newfolder"); if (!plugins.file.createFolder(d)) application.output("Folder could not be created.");
createTempFile
(prefix, suffix)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var tempFile = plugins.file.createTempFile('myfile','.txt'); application.output('Temporary file created as: ' + tempFile.getAbsolutePath()); plugins.file.writeTXTFile(tempFile, 'abcdefg');
deleteFile
(destination)
Replace with description
Since
Replace with version info
Parameters
{Object} destination
Also see
External links
Sample
if (plugins.file.deleteFile('story.txt')) application.output('File deleted.');
deleteFolder
(destination, showWarning)
Replace with description
Since
Replace with version info
Also see
External links
Sample
if (plugins.file.deleteFolder('stories', true)) application.output('Folder deleted.');
getDefaultUploadLocation
()
Replace with description
Since
Replace with version info
Parameters
Returns
String – the location as canonical path
Also see
External links
Sample
// get the (server-side) default upload location path: var serverPath = plugins.file.getDefaultUploadLocation();
getDesktopFolder
()
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
var d = plugins.file.getDesktopFolder(); application.output('desktop folder is: ' + d.getAbsolutePath());
JSFile[]
getDiskList
()
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
var roots = plugins.file.getDiskList(); for (var i = 0; i < roots.length; i++) application.output(roots[i].getAbsolutePath());
getFileSize
(path)
Replace with description
Since
Replace with version info
Parameters
{Object} path
Also see
External links
Sample
var f = plugins.file.convertToJSFile('story.txt'); application.output('file size: ' + plugins.file.getFileSize(f));
JSFile[]
getFolderContents
(targetFolder)
Replace with description
Since
Replace with version info
Parameters
{JSFile} targetFolder – JSFile object.
Also see
External links
Sample
var files = plugins.file.getFolderContents('stories', '.txt'); for (var i=0; i<files.length; i++) application.output(files[i].getAbsolutePath());
JSFile[]
getFolderContents
(targetFolder, fileFilter)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var files = plugins.file.getFolderContents('stories', '.txt'); for (var i=0; i<files.length; i++) application.output(files[i].getAbsolutePath());
JSFile[]
getFolderContents
(targetFolder, fileFilter, fileOption)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var files = plugins.file.getFolderContents('stories', '.txt'); for (var i=0; i<files.length; i++) application.output(files[i].getAbsolutePath());
JSFile[]
getFolderContents
(targetFolder, fileFilter, fileOption, visibleOption)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var files = plugins.file.getFolderContents('stories', '.txt'); for (var i=0; i<files.length; i++) application.output(files[i].getAbsolutePath());
JSFile[]
getFolderContents
(targetFolder, fileFilter, fileOption, visibleOption, lockedOption)
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
var files = plugins.file.getFolderContents('stories', '.txt'); for (var i=0; i<files.length; i++) application.output(files[i].getAbsolutePath());
JSFile[]
getFolderContents
(targetFolder)
Replace with description
Since
Replace with version info
Parameters
{String} targetFolder – File path.
Also see
External links
Sample
var files = plugins.file.getFolderContents('stories', '.txt'); for (var i=0; i<files.length; i++) application.output(files[i].getAbsolutePath());
JSFile[]
getFolderContents
(targetFolder, fileFilter)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var files = plugins.file.getFolderContents('stories', '.txt'); for (var i=0; i<files.length; i++) application.output(files[i].getAbsolutePath());
JSFile[]
getFolderContents
(targetFolder, fileFilter, fileOption)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var files = plugins.file.getFolderContents('stories', '.txt'); for (var i=0; i<files.length; i++) application.output(files[i].getAbsolutePath());
JSFile[]
getFolderContents
(targetFolder, fileFilter, fileOption, visibleOption)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var files = plugins.file.getFolderContents('stories', '.txt'); for (var i=0; i<files.length; i++) application.output(files[i].getAbsolutePath());
JSFile[]
getFolderContents
(targetFolder, fileFilter, fileOption, visibleOption, lockedOption)
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
var files = plugins.file.getFolderContents('stories', '.txt'); for (var i=0; i<files.length; i++) application.output(files[i].getAbsolutePath());
getHomeFolder
()
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
var d = plugins.file.getHomeFolder(); application.output('home folder: ' + d.getAbsolutePath());
getModificationDate
(path)
Replace with description
Since
Replace with version info
Parameters
{Object} path
Also see
External links
Sample
var f = plugins.file.convertToJSFile('story.txt'); application.output('last changed: ' + plugins.file.getModificationDate(f));
JSFile[]
getRemoteFolderContents
(targetFolder)
Replace with description
Since
Replace with version info
Parameters
{JSFile} targetFolder
Returns
JSFile[] – the array of file names
Also see
External links
Sample
// retrieves an array of files located on the server side inside the default upload folder: var files = plugins.file.getRemoteFolderContents('/', '.txt');
JSFile[]
getRemoteFolderContents
(targetFolder, fileFilter)
Replace with description
Since
Replace with version info
Returns
JSFile[] – the array of file names
Also see
External links
Sample
// retrieves an array of files located on the server side inside the default upload folder: var files = plugins.file.getRemoteFolderContents('/', '.txt');
JSFile[]
getRemoteFolderContents
(targetFolder, fileFilter, fileOption)
Replace with description
Since
Replace with version info
Returns
JSFile[] – the array of file names
Also see
External links
Sample
// retrieves an array of files located on the server side inside the default upload folder: var files = plugins.file.getRemoteFolderContents('/', '.txt');
JSFile[]
getRemoteFolderContents
(targetFolder, fileFilter, fileOption, visibleOption)
Replace with description
Since
Replace with version info
Returns
JSFile[] – the array of file names
Also see
External links
Sample
// retrieves an array of files located on the server side inside the default upload folder: var files = plugins.file.getRemoteFolderContents('/', '.txt');
JSFile[]
getRemoteFolderContents
(targetFolder, fileFilter, fileOption, visibleOption, lockedOption)
Replace with description
Since
Replace with version info
Parameters
Returns
JSFile[] – the array of file names
Also see
External links
Sample
// retrieves an array of files located on the server side inside the default upload folder: var files = plugins.file.getRemoteFolderContents('/', '.txt');
JSFile[]
getRemoteFolderContents
(targetFolder)
Replace with description
Since
Replace with version info
Parameters
{String} targetFolder – Folder path.
Returns
JSFile[] – the array of file names
Also see
External links
Sample
// retrieves an array of files located on the server side inside the default upload folder: var files = plugins.file.getRemoteFolderContents('/', '.txt');
JSFile[]
getRemoteFolderContents
(targetFolder, fileFilter)
Replace with description
Since
Replace with version info
Returns
JSFile[] – the array of file names
Also see
External links
Sample
// retrieves an array of files located on the server side inside the default upload folder: var files = plugins.file.getRemoteFolderContents('/', '.txt');
JSFile[]
getRemoteFolderContents
(targetFolder, fileFilter, fileOption)
Replace with description
Since
Replace with version info
Returns
JSFile[] – the array of file names
Also see
External links
Sample
// retrieves an array of files located on the server side inside the default upload folder: var files = plugins.file.getRemoteFolderContents('/', '.txt');
JSFile[]
getRemoteFolderContents
(targetFolder, fileFilter, fileOption, visibleOption)
Replace with description
Since
Replace with version info
Returns
JSFile[] – the array of file names
Also see
External links
Sample
// retrieves an array of files located on the server side inside the default upload folder: var files = plugins.file.getRemoteFolderContents('/', '.txt');
JSFile[]
getRemoteFolderContents
(targetFolder, fileFilter, fileOption, visibleOption, lockedOption)
Replace with description
Since
Replace with version info
Parameters
Returns
JSFile[] – the array of file names
Also see
External links
Sample
// retrieves an array of files located on the server side inside the default upload folder: var files = plugins.file.getRemoteFolderContents('/', '.txt');
moveFile
(source, destination)
Replace with description
Since
Replace with version info
Also see
External links
Sample
// Move file based on names. if (!plugins.file.moveFile('story.txt','story.txt.new')) application.output('File move failed.'); // Move file based on JSFile instances. var f = plugins.file.convertToJSFile('story.txt.new'); var fmoved = plugins.file.convertToJSFile('story.txt'); if (!plugins.file.moveFile(f, fmoved)) application.output('File move back failed.');
byte[]
readFile
()
Replace with description
Since
Replace with version info
Parameters
Returns
byte[]
Also see
External links
Sample
// Read all content from the file. var bytes = plugins.file.readFile('big.jpg'); application.output('file size: ' + bytes.length); // Read only the first 1KB from the file. var bytesPartial = plugins.file.readFile('big.jpg', 1024); application.output('partial file size: ' + bytesPartial.length); // Read all content from a file selected from the file open dialog. var bytesUnknownFile = plugins.file.readFile(); application.output('unknown file size: ' + bytesUnknownFile.length);
byte[]
readFile
(file)
Replace with description
Since
Replace with version info
Parameters
{JSFile} file – JSFile.
Returns
byte[]
Also see
External links
Sample
// Read all content from the file. var bytes = plugins.file.readFile('big.jpg'); application.output('file size: ' + bytes.length); // Read only the first 1KB from the file. var bytesPartial = plugins.file.readFile('big.jpg', 1024); application.output('partial file size: ' + bytesPartial.length); // Read all content from a file selected from the file open dialog. var bytesUnknownFile = plugins.file.readFile(); application.output('unknown file size: ' + bytesUnknownFile.length);
byte[]
readFile
(file, size)
Replace with description
Since
Replace with version info
Returns
byte[]
Also see
External links
Sample
// Read all content from the file. var bytes = plugins.file.readFile('big.jpg'); application.output('file size: ' + bytes.length); // Read only the first 1KB from the file. var bytesPartial = plugins.file.readFile('big.jpg', 1024); application.output('partial file size: ' + bytesPartial.length); // Read all content from a file selected from the file open dialog. var bytesUnknownFile = plugins.file.readFile(); application.output('unknown file size: ' + bytesUnknownFile.length);
byte[]
readFile
(file)
Replace with description
Since
Replace with version info
Parameters
{String} file – the file path.
Returns
byte[]
Also see
External links
Sample
// Read all content from the file. var bytes = plugins.file.readFile('big.jpg'); application.output('file size: ' + bytes.length); // Read only the first 1KB from the file. var bytesPartial = plugins.file.readFile('big.jpg', 1024); application.output('partial file size: ' + bytesPartial.length); // Read all content from a file selected from the file open dialog. var bytesUnknownFile = plugins.file.readFile(); application.output('unknown file size: ' + bytesUnknownFile.length);
byte[]
readFile
(file, size)
Replace with description
Since
Replace with version info
Returns
byte[]
Also see
External links
Sample
// Read all content from the file. var bytes = plugins.file.readFile('big.jpg'); application.output('file size: ' + bytes.length); // Read only the first 1KB from the file. var bytesPartial = plugins.file.readFile('big.jpg', 1024); application.output('partial file size: ' + bytesPartial.length); // Read all content from a file selected from the file open dialog. var bytesUnknownFile = plugins.file.readFile(); application.output('unknown file size: ' + bytesUnknownFile.length);
readTXTFile
()
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
// Read content from a known text file. var txt = plugins.file.readTXTFile('story.txt'); application.output(txt); // Read content from a text file selected from the file open dialog. var txtUnknown = plugins.file.readTXTFile(); application.output(txtUnknown);
readTXTFile
(file)
Replace with description
Since
Replace with version info
Parameters
{JSFile} file – JSFile.
Also see
External links
Sample
// Read content from a known text file. var txt = plugins.file.readTXTFile('story.txt'); application.output(txt); // Read content from a text file selected from the file open dialog. var txtUnknown = plugins.file.readTXTFile(); application.output(txtUnknown);
readTXTFile
(file, charsetname)
Replace with description
Since
Replace with version info
Also see
External links
Sample
// Read content from a known text file. var txt = plugins.file.readTXTFile('story.txt'); application.output(txt); // Read content from a text file selected from the file open dialog. var txtUnknown = plugins.file.readTXTFile(); application.output(txtUnknown);
readTXTFile
(file)
Replace with description
Since
Replace with version info
Parameters
{String} file – the file path.
Also see
External links
Sample
// Read content from a known text file. var txt = plugins.file.readTXTFile('story.txt'); application.output(txt); // Read content from a text file selected from the file open dialog. var txtUnknown = plugins.file.readTXTFile(); application.output(txtUnknown);
readTXTFile
(file, charsetname)
Replace with description
Since
Replace with version info
Also see
External links
Sample
// Read content from a known text file. var txt = plugins.file.readTXTFile('story.txt'); application.output(txt); // Read content from a text file selected from the file open dialog. var txtUnknown = plugins.file.readTXTFile(); application.output(txtUnknown);
showDirectorySelectDialog
()
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
var dir = plugins.file.showDirectorySelectDialog(); application.output("you've selected folder: " + dir.getAbsolutePath());
showDirectorySelectDialog
(directory)
Replace with description
Since
Replace with version info
Parameters
{JSFile} directory – Default directory as JSFile.
Also see
External links
Sample
var dir = plugins.file.showDirectorySelectDialog(); application.output("you've selected folder: " + dir.getAbsolutePath());
showDirectorySelectDialog
(directory, title)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var dir = plugins.file.showDirectorySelectDialog(); application.output("you've selected folder: " + dir.getAbsolutePath());
showDirectorySelectDialog
(directory)
Replace with description
Since
Replace with version info
Parameters
{String} directory – Default directory as file path.
Also see
External links
Sample
var dir = plugins.file.showDirectorySelectDialog(); application.output("you've selected folder: " + dir.getAbsolutePath());
showDirectorySelectDialog
(directory, title)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var dir = plugins.file.showDirectorySelectDialog(); application.output("you've selected folder: " + dir.getAbsolutePath());
showFileOpenDialog
()
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode)
Replace with description
Since
Replace with version info
Parameters
{Number} selectionMode – 0=both,1=Files,2=Dirs
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory)
Replace with description
Since
Replace with version info
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory, multiselect)
Replace with description
Since
Replace with version info
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory, multiselect, filter)
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory, multiselect, filter, callbackfunction)
Replace with description
Since
Replace with version info
Parameters
{Number} selectionMode – 0=both,1=Files,2=Dirs
{JSFile} startDirectory – JSFile instance of default folder,null=default/previous
{Boolean} multiselect – true/false
{Object} filter – A filter or array of filters on the folder files.
{Function} callbackfunction – A function that takes the (JSFile) array of the selected files as first argument
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory, multiselect, filter, callbackfunction, title)
Replace with description
Since
Replace with version info
Parameters
{Number} selectionMode – 0=both,1=Files,2=Dirs
{JSFile} startDirectory – JSFile instance of default folder, null=default/previous
{Boolean} multiselect – true/false
{Object} filter – A filter or array of filters on the folder files.
{Function} callbackfunction – A function that takes the (JSFile) array of the selected files as first argument
{String} title – The tile of the dialog
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory, multiselect, callbackfunction)
Replace with description
Since
Replace with version info
Parameters
{Number} selectionMode – 0=both,1=Files,2=Dirs
{JSFile} startDirectory – JSFile instance of default folder,null=default/previous
{Boolean} multiselect – true/false
{Function} callbackfunction – A function that takes the (JSFile) array of the selected files as first argument
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory, callbackfunction)
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory)
Replace with description
Since
Replace with version info
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory, multiselect)
Replace with description
Since
Replace with version info
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory, multiselect, filter)
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory, multiselect, filter, callbackfunction)
Replace with description
Since
Replace with version info
Parameters
{Number} selectionMode – 0=both,1=Files,2=Dirs
{String} startDirectory – Path to default folder,null=default/previous
{Boolean} multiselect – true/false
{Object} filter – A filter or array of filters on the folder files.
{Function} callbackfunction – A function that takes the (JSFile) array of the selected files as first argument
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory, multiselect, filter, callbackfunction, title)
Replace with description
Since
Replace with version info
Parameters
{Number} selectionMode – 0=both,1=Files,2=Dirs
{String} startDirectory – Path to default folder, null=default/previous
{Boolean} multiselect – true/false
{Object} filter – A filter or array of filters on the folder files.
{Function} callbackfunction – A function that takes the (JSFile) array of the selected files as first argument
{String} title – The tile of the dialog
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory, multiselect, callbackfunction)
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, startDirectory, callbackfunction)
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(selectionMode, callbackfunction)
Replace with description
Since
Replace with version info
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileOpenDialog
(callbackfunction)
Replace with description
Since
Replace with version info
Parameters
{Function} callbackfunction – A function that takes the (JSFile) array of the selected files as first argument
Also see
External links
Sample
// This selects only files ('1'), previous dir must be used ('null'), no multiselect ('false') and // the filter "JPG and GIF" should be used: ('new Array("JPG and GIF","jpg","gif")'). /** @type {JSFile} */ var f = plugins.file.showFileOpenDialog(1, null, false, new Array("JPG and GIF", "jpg", "gif")); application.output('File: ' + f.getName()); application.output('is dir: ' + f.isDirectory()); application.output('is file: ' + f.isFile()); application.output('path: ' + f.getAbsolutePath()); // This allows mutliple selection of files, using previous dir and the same filter as above. This also casts the result to the JSFile type using JSDoc. // if filters are specified, "all file" filter will not show up unless "*" filter is present /** @type {JSFile[]} */ var files = plugins.file.showFileOpenDialog(1, null, true, new Array("JPG and GIF", "jpg", "gif", "*")); for (var i = 0; i < files.length; i++) { application.output('File: ' + files[i].getName()); application.output('content type: ' + files[i].getContentType()); application.output('last modified: ' + files[i].lastModified()); application.output('size: ' + files[i].size()); } //for the web you have to give a callback function that has a JSFile array as its first argument (also works in smart), only multi select and the title are used in the webclient, others are ignored plugins.file.showFileOpenDialog(null,null,false,mycallbackfunction,'Select some nice files')
showFileSaveDialog
()
Replace with description
Since
Replace with version info
Parameters
Also see
External links
Sample
var file = plugins.file.showFileSaveDialog(); application.output("you've selected file: " + file.getAbsolutePath());
showFileSaveDialog
(fileNameDir)
Replace with description
Since
Replace with version info
Parameters
{JSFile} fileNameDir – JSFile to save.
Also see
External links
Sample
var file = plugins.file.showFileSaveDialog(); application.output("you've selected file: " + file.getAbsolutePath());
showFileSaveDialog
(fileNameDir, title)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var file = plugins.file.showFileSaveDialog(); application.output("you've selected file: " + file.getAbsolutePath());
showFileSaveDialog
(fileNameDir)
Replace with description
Since
Replace with version info
Parameters
{String} fileNameDir – File (give as file path) to save.
Also see
External links
Sample
var file = plugins.file.showFileSaveDialog(); application.output("you've selected file: " + file.getAbsolutePath());
showFileSaveDialog
(fileNameDir, title)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var file = plugins.file.showFileSaveDialog(); application.output("you've selected file: " + file.getAbsolutePath());
streamFilesFromServer
(files, serverFiles)
Replace with description
Since
Replace with version info
Parameters
Returns
JSProgressMonitor – a JSProgressMonitor object to allow client to subscribe to progress notifications
Also see
External links
Sample
// transfer all the files of a chosen server folder to a directory on the client var dir = plugins.file.showDirectorySelectDialog(); if (dir) { var list = plugins.file.getRemoteFolderContents('/images/user1/', null, 1); if (list) { var monitor = plugins.file.streamFilesFromServer(dir, list, callbackFunction); } } // transfer one file on the client var monitor = plugins.file.streamFilesFromServer('/path/to/file', 'path/to/serverFile', callbackFunction); // transfer an array of serverFiles to an array of files on the client var files = new Array(); files[0] = '/path/to/file1'; files[1] = '/path/to/file2'; var serverFiles = new Array(); serverFiles[0] = '/path/to/serverFile1'; serverFiles[1] = '/path/to/serverFile2'; var monitor = plugins.file.streamFilesFromServer(files, serverFiles, callbackFunction);
streamFilesFromServer
(files, serverFiles, callback)
Replace with description
Since
Replace with version info
Parameters
{Object} files – file(s) to be streamed into (can be a String path or a JSFile) or an Array of these
{Object} serverFiles – the files on the server that will be transfered to the client, can be a JSFile or JSFile[], a String or String[]
{Function} callback – the Function to be called back at the end of the process (for every file); the callback function is invoked with argument the filename that was transfered; an extra second exception parameter can be given if an exception occured
Returns
JSProgressMonitor – a JSProgressMonitor object to allow client to subscribe to progress notifications
Also see
External links
Sample
// transfer all the files of a chosen server folder to a directory on the client var dir = plugins.file.showDirectorySelectDialog(); if (dir) { var list = plugins.file.getRemoteFolderContents('/images/user1/', null, 1); if (list) { var monitor = plugins.file.streamFilesFromServer(dir, list, callbackFunction); } } // transfer one file on the client var monitor = plugins.file.streamFilesFromServer('/path/to/file', 'path/to/serverFile', callbackFunction); // transfer an array of serverFiles to an array of files on the client var files = new Array(); files[0] = '/path/to/file1'; files[1] = '/path/to/file2'; var serverFiles = new Array(); serverFiles[0] = '/path/to/serverFile1'; serverFiles[1] = '/path/to/serverFile2'; var monitor = plugins.file.streamFilesFromServer(files, serverFiles, callbackFunction);
streamFilesToServer
(files)
Replace with description
Since
Replace with version info
Parameters
{Object} files – file(s) to be streamed (can be a String path or a JSFile) or an Array of these
Returns
JSProgressMonitor – a JSProgressMonitor object to allow client to subscribe to progress notifications
Also see
External links
Sample
// send one file: var file = plugins.file.showFileOpenDialog( 1, null, false, null, null, 'Choose a file to transfer' ); if (file) { plugins.file.streamFilesToServer( file, callbackFunction ); } //plugins.file.streamFilesToServer( 'servoy.txt', callbackFunction ); // send an array of files: var folder = plugins.file.showDirectorySelectDialog(); if (folder) { var files = plugins.file.getFolderContents(folder); if (files) { var monitor = plugins.file.streamFilesToServer( files, callbackFunction ); } } // var files = new Array() // files[0] = 'file1.txt'; // files[1] = 'file2.txt'; // var monitor = plugins.file.streamFilesToServer( files, callbackFunction );
streamFilesToServer
(files, serverFiles)
Replace with description
Since
Replace with version info
Parameters
Returns
JSProgressMonitor – a JSProgressMonitor object to allow client to subscribe to progress notifications
Also see
External links
Sample
// send one file: var file = plugins.file.showFileOpenDialog( 1, null, false, null, null, 'Choose a file to transfer' ); if (file) { plugins.file.streamFilesToServer( file, callbackFunction ); } //plugins.file.streamFilesToServer( 'servoy.txt', callbackFunction ); // send an array of files: var folder = plugins.file.showDirectorySelectDialog(); if (folder) { var files = plugins.file.getFolderContents(folder); if (files) { var monitor = plugins.file.streamFilesToServer( files, callbackFunction ); } } // var files = new Array() // files[0] = 'file1.txt'; // files[1] = 'file2.txt'; // var monitor = plugins.file.streamFilesToServer( files, callbackFunction );
streamFilesToServer
(files, serverFiles, callback)
Replace with description
Since
Replace with version info
Parameters
{Object} files – file(s) to be streamed (can be a String path or a JSFile) or an Array of these)
{Object} serverFiles – can be a JSFile or JSFile[], a String or String[], representing the file name(s) to use on the server
{Function} callback – the Function to be called back at the end of the process (for every file); the callback function is invoked with argument the filename that was transfered; an extra second exception parameter can be given if an exception occured
Returns
JSProgressMonitor – a JSProgressMonitor object to allow client to subscribe to progress notifications
Also see
External links
Sample
// send one file: var file = plugins.file.showFileOpenDialog( 1, null, false, null, null, 'Choose a file to transfer' ); if (file) { plugins.file.streamFilesToServer( file, callbackFunction ); } //plugins.file.streamFilesToServer( 'servoy.txt', callbackFunction ); // send an array of files: var folder = plugins.file.showDirectorySelectDialog(); if (folder) { var files = plugins.file.getFolderContents(folder); if (files) { var monitor = plugins.file.streamFilesToServer( files, callbackFunction ); } } // var files = new Array() // files[0] = 'file1.txt'; // files[1] = 'file2.txt'; // var monitor = plugins.file.streamFilesToServer( files, callbackFunction );
streamFilesToServer
(files, callback)
Replace with description
Since
Replace with version info
Parameters
{Object} files – file(s) to be streamed (can be a String path or a JSFile) or an Array of these
{Function} callback – the Function to be called back at the end of the process (for every file); the callback function is invoked with argument the filename that was transfered; an extra second exception parameter can be given if an exception occured
Returns
JSProgressMonitor – a JSProgressMonitor object to allow client to subscribe to progress notifications
Also see
External links
Sample
// send one file: var file = plugins.file.showFileOpenDialog( 1, null, false, null, null, 'Choose a file to transfer' ); if (file) { plugins.file.streamFilesToServer( file, callbackFunction ); } //plugins.file.streamFilesToServer( 'servoy.txt', callbackFunction ); // send an array of files: var folder = plugins.file.showDirectorySelectDialog(); if (folder) { var files = plugins.file.getFolderContents(folder); if (files) { var monitor = plugins.file.streamFilesToServer( files, callbackFunction ); } } // var files = new Array() // files[0] = 'file1.txt'; // files[1] = 'file2.txt'; // var monitor = plugins.file.streamFilesToServer( files, callbackFunction );
writeFile
(file, data)
Replace with description
Since
Replace with version info
Parameters
{JSFile} file – a local JSFile
{byte[]} data – the data to be written
Also see
External links
Sample
/**@type {Array<byte>}*/ var bytes = new Array(); for (var i=0; i<1024; i++) bytes[i] = i % 100; var f = plugins.file.convertToJSFile('bin.dat'); if (!plugins.file.writeFile(f, bytes)) application.output('Failed to write the file.'); // mimeType variable can be left null, and is used for webclient only. Specify one of any valid mime types as referenced here: http://www.w3schools.com/media/media_mimeref.asp' var mimeType = 'application/vnd.ms-excel' if (!plugins.file.writeFile(f, bytes, mimeType)) application.output('Failed to write the file.');
writeFile
(file, data, mimeType)
Replace with description
Since
Replace with version info
Also see
External links
Sample
/**@type {Array<byte>}*/ var bytes = new Array(); for (var i=0; i<1024; i++) bytes[i] = i % 100; var f = plugins.file.convertToJSFile('bin.dat'); if (!plugins.file.writeFile(f, bytes)) application.output('Failed to write the file.'); // mimeType variable can be left null, and is used for webclient only. Specify one of any valid mime types as referenced here: http://www.w3schools.com/media/media_mimeref.asp' var mimeType = 'application/vnd.ms-excel' if (!plugins.file.writeFile(f, bytes, mimeType)) application.output('Failed to write the file.');
writeFile
(file, data)
Replace with description
Since
Replace with version info
Parameters
{String} file – the file path as a String
{byte[]} data – the data to be written
Also see
External links
Sample
/**@type {Array<byte>}*/ var bytes = new Array(); for (var i=0; i<1024; i++) bytes[i] = i % 100; var f = plugins.file.convertToJSFile('bin.dat'); if (!plugins.file.writeFile(f, bytes)) application.output('Failed to write the file.'); // mimeType variable can be left null, and is used for webclient only. Specify one of any valid mime types as referenced here: http://www.w3schools.com/media/media_mimeref.asp' var mimeType = 'application/vnd.ms-excel' if (!plugins.file.writeFile(f, bytes, mimeType)) application.output('Failed to write the file.');
writeFile
(file, data, mimeType)
Replace with description
Since
Replace with version info
Also see
External links
Sample
/**@type {Array<byte>}*/ var bytes = new Array(); for (var i=0; i<1024; i++) bytes[i] = i % 100; var f = plugins.file.convertToJSFile('bin.dat'); if (!plugins.file.writeFile(f, bytes)) application.output('Failed to write the file.'); // mimeType variable can be left null, and is used for webclient only. Specify one of any valid mime types as referenced here: http://www.w3schools.com/media/media_mimeref.asp' var mimeType = 'application/vnd.ms-excel' if (!plugins.file.writeFile(f, bytes, mimeType)) application.output('Failed to write the file.');
writeTXTFile
(file, text_data)
Replace with description
Since
Replace with version info
Returns
Boolean – Success boolean.
Also see
External links
Sample
var fileNameSuggestion = 'myspecialexport.tab' var textData = 'load of data...' var success = plugins.file.writeTXTFile(fileNameSuggestion, textData); if (!success) application.output('Could not write file.'); // For file-encoding parameter options (default OS encoding is used), http://download.oracle.com/javase/1.4.2/docs/guide/intl/encoding.doc.html // mimeType variable can be left null, and is used for webclient only. Specify one of any valid mime types as referenced here: http://www.w3schools.com/media/media_mimeref.asp'
writeTXTFile
(file, text_data, charsetname)
Replace with description
Since
Replace with version info
Returns
Boolean – Success boolean.
Also see
External links
Sample
var fileNameSuggestion = 'myspecialexport.tab' var textData = 'load of data...' var success = plugins.file.writeTXTFile(fileNameSuggestion, textData); if (!success) application.output('Could not write file.'); // For file-encoding parameter options (default OS encoding is used), http://download.oracle.com/javase/1.4.2/docs/guide/intl/encoding.doc.html // mimeType variable can be left null, and is used for webclient only. Specify one of any valid mime types as referenced here: http://www.w3schools.com/media/media_mimeref.asp'
writeTXTFile
(file, text_data, charsetname, mimeType)
Replace with description
Since
Replace with version info
Returns
Boolean – Success boolean.
Also see
External links
Sample
var fileNameSuggestion = 'myspecialexport.tab' var textData = 'load of data...' var success = plugins.file.writeTXTFile(fileNameSuggestion, textData); if (!success) application.output('Could not write file.'); // For file-encoding parameter options (default OS encoding is used), http://download.oracle.com/javase/1.4.2/docs/guide/intl/encoding.doc.html // mimeType variable can be left null, and is used for webclient only. Specify one of any valid mime types as referenced here: http://www.w3schools.com/media/media_mimeref.asp'
writeTXTFile
(file, text_data)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var fileNameSuggestion = 'myspecialexport.tab' var textData = 'load of data...' var success = plugins.file.writeTXTFile(fileNameSuggestion, textData); if (!success) application.output('Could not write file.'); // For file-encoding parameter options (default OS encoding is used), http://download.oracle.com/javase/1.4.2/docs/guide/intl/encoding.doc.html // mimeType variable can be left null, and is used for webclient only. Specify one of any valid mime types as referenced here: http://www.w3schools.com/media/media_mimeref.asp'
writeTXTFile
(file, text_data, charsetname)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var fileNameSuggestion = 'myspecialexport.tab' var textData = 'load of data...' var success = plugins.file.writeTXTFile(fileNameSuggestion, textData); if (!success) application.output('Could not write file.'); // For file-encoding parameter options (default OS encoding is used), http://download.oracle.com/javase/1.4.2/docs/guide/intl/encoding.doc.html // mimeType variable can be left null, and is used for webclient only. Specify one of any valid mime types as referenced here: http://www.w3schools.com/media/media_mimeref.asp'
writeTXTFile
(file, text_data, charsetname, mimeType)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var fileNameSuggestion = 'myspecialexport.tab' var textData = 'load of data...' var success = plugins.file.writeTXTFile(fileNameSuggestion, textData); if (!success) application.output('Could not write file.'); // For file-encoding parameter options (default OS encoding is used), http://download.oracle.com/javase/1.4.2/docs/guide/intl/encoding.doc.html // mimeType variable can be left null, and is used for webclient only. Specify one of any valid mime types as referenced here: http://www.w3schools.com/media/media_mimeref.asp'
writeXMLFile
(file, xml_data)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var fileName = 'form.xml' var xml = controller.printXML() var success = plugins.file.writeXMLFile(fileName, xml); if (!success) application.output('Could not write file.');
writeXMLFile
(file, xml_data, encoding)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var fileName = 'form.xml' var xml = controller.printXML() var success = plugins.file.writeXMLFile(fileName, xml); if (!success) application.output('Could not write file.');
writeXMLFile
(file, xml_data)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var fileName = 'form.xml' var xml = controller.printXML() var success = plugins.file.writeXMLFile(fileName, xml); if (!success) application.output('Could not write file.');
writeXMLFile
(file, xml_data, encoding)
Replace with description
Since
Replace with version info
Also see
External links
Sample
var fileName = 'form.xml' var xml = controller.printXML() var success = plugins.file.writeXMLFile(fileName, xml); if (!success) application.output('Could not write file.');