365 business development logo

The File plugin in 365 business Proxy Application provides full access to the local file system, as well as available network drives or UNC paths.

The File plugin is one of the standard plugins of 365 business Proxy Application and can be installed directly via the Proxy Application Clients page.

Objects

The following procedures are available through bdev.PRX Proxy Application codeunit (ID 5523630).

Example

In the following example, the specified folder is read out. It then checks whether the “hello-world.txt” file already exists and deletes it if necessary. A new file “hello-world.txt” with the content “Hello, World!” is then created.


procedure ExampleFilePlugin
var
  files: Record "bdev.PRX File Item" temporary;
  proxyApp: Codeunit "bdev.PRX Proxy Application";
begin
  // get file list for directory "C:\temp"
  proxyApp.ListFiles(
    files,
    'C:\temp'
  );

  // check whether "hello-world.txt" exists
  files.Reset();
  files.SetRange("Name", 'hello-world.txt');
  files.SetRange("Is File", true);
  if (files.FindFirst()) then
    // if file exists, delete it
    proxyApp.DeleteFile(files."File Path");

  // create file "hello-world.txt"
  proxyApp.PostFile(
    'C:\temp\hello-world.txt',
    GetFileWithContent('Hello, World!')
  );  
end;

local procedure GetFileWithContent(content: Text) file: Codeunit "Temp Blob"
var
  stream: OutStream;
begin
  file.CreateOutStream(stream, TextEncoding::UTF8);
  stream.WriteText(content);

  exit(file);
end;

Functions

Call up file list (ListFiles)

files: Record "bdev.PRX File Item" temporary := ListFiles([clientId: Guid,] filePath: Text [,fileFilter: Text])
ListFiles(var files: Record "bdev.PRX File Item" temporary, [clientId: Guid,] filePath: Text [,fileFilter: Text])

Parameter

Return

Returns the temporary table bdev.PRX File Item, which represents the file list.

Check if file exists (FileExists)

fileExists: Boolean := FileExists([clientId: Guid,] filePath: Text)

Parameter

**Returns

Returns true if the file exists.

Read file (GetFile)

file: Codeunit "Temp Blob" := GetFile([clientId: Guid,] filePath: Text)

Parameter

Return

Returns Codeunit "Temp Blob" with the content of the file.

Write file (PostFile)

success: Boolean := PostFile([clientId: Guid,] filePath: Text, file: Codeunit "Temp Blob")

Parameter

**Returns

Returns true if the file was written successfully.

Delete file (DeleteFile)

success: Boolean := DeleteFile([clientId: Guid,] filePath: Text)

Parameter

**Returns

Returns true if the file was successfully deleted.

Move file (MoveFile)

success: Boolean := MoveFile([clientId: Guid,] fromFilePath: Text, toFilePath: Text [, overwrite: Boolean])

Parameter

**Returns

Returns true if the file was successfully moved.

Copy file (CopyFile)

success: Boolean := CopyFile([clientId: Guid,] fromFilePath: Text, toFilePath: Text [, overwrite: Boolean])

Parameter

**Returns

Returns true if the file was copied successfully.

Rename file (RenameFile)

success: Boolean := RenameFile([clientId: Guid,] filePath: Text, newFilePath: Text)

Parameter

**Returns

Returns true if the file has been successfully renamed.

Check if directory exists (DirectoryExists)

success: Boolean := DirectoryExists([clientId: Guid,] directoryPath: Text)

Parameter

**Returns

Returns true if the directory exists.

Create directory (CreateDirectory)

success: Boolean := CreateDirectory([clientId: Guid,] directoryPath: Text)

Parameter

**Returns

Returns true if the directory has been created.

Delete directory (DeleteDirectory)

success: Boolean := DeleteDirectory([clientId: Guid,] directoryPath: Text [, recursive: Boolean])

Parameter

**Returns

Returns true if the directory has been deleted.

Move directory (MoveDirectory)

success: Boolean := MoveDirectory([clientId: Guid,] fromDirectoryPath: Text, toDirectoryPath: Text)

Parameter

**Returns

Returns true if the directory has been moved.

Copy directory (CopyDirectory)

success: Boolean := CopyDirectory([clientId: Guid,] fromDirectoryPath: Text, toDirectoryPath: Text)

Parameter

**Returns

Returns true if the directory has been copied.