Topics
All
MacOS
(Only)
Windows
(Only)
Linux
(Only, Not)
iOS
(Only, Not)
Components
Crossplatform Mac & Win
Server
Client
Old
Deprecated
Guides
Examples
Videos
New in version:
12.1
12.2
12.3
12.4
12.5
13.0
13.1
13.2
13.3
13.4
Statistic
FMM
Blog
Files.ReadFile
Reads a file with the given path.
Component |
Version |
macOS |
Windows |
Linux |
Server |
iOS SDK |
Files
|
3.5 |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
✅ Yes |
MBS( "Files.ReadFile"; FilePath { ; mode; filename } )
More
MBS(
"Files.ReadFile"; /* Reads a file with the given path. */
$FilePath; /* The native file path. Something like "/Users/cs/desktop/test.txt" on Mac and "C:\Programs\Data\test.txt" on Windows. Files without path end in the root directory on Mac.e.g. "test.txt" */
$mode; /* Optional; Can be base64 to encode data first to base64 encoding. Or can be Hex to encode to hex encoding. If mode is "container", the result is returned as a container with a FILE stream inside.
Version 5.3 supports mode "auto" to auto detect the type of container.
Added Base64URL as option for plugin version 10.3.e.g. "Base64" */
$filename) /* Optional; If mode is container, this defines the file name to use.e.g. "test.txt" */
Less
Parameters
Parameter |
Description |
Example |
Flags |
FilePath |
The native file path. Something like "/Users/cs/desktop/test.txt" on Mac and "C:\Programs\Data\test.txt" on Windows. Files without path end in the root directory on Mac. |
"test.txt" |
|
mode |
Can be base64 to encode data first to base64 encoding. Or can be Hex to encode to hex encoding. If mode is "container", the result is returned as a container with a FILE stream inside.
Version 5.3 supports mode "auto" to auto detect the type of container.
Added Base64URL as option for plugin version 10.3. |
"Base64" |
Optional |
filename |
If mode is container, this defines the file name to use. |
"test.txt" |
Optional |
Result
Returns container value or error.
Description
Reads a file with the given path.
Reads the data in the file and returns as text with native encoding. This may truncate the string at the first null byte.
You can optionally define a mode like base64 or Hex to read any bytes including null bytes.
See also Text.ReadTextFile for reading text files with specific encoding.
Reading files over 1 GB is not supported. Use Container.ReadFile for bigger files.
Added new modes with version 5.3: auto, compressed, pdf, png, jpg, tif, gif, bmp or psd.
For reading simple text files, please use Text.ReadTextFile.
See also Files.ReadJPEG, Files.ReadPDF, Files.ReadPNG, Text.ReadTextFile and RichText.ReadFile.
For PDF content: If you have a DynaPDF Pro license and DynaPDF functions initialized, this function can add previews for the PDF file on Windows and Linux. For MacOS, we make them with PDFKit.
This function requires a native path. Use Path.FileMakerPathToNativePath to convert a FileMaker path to a native path if required. If you like to have the user choose the path, you can use FileDialog functions.
For Server be aware that server has limited permissions and may not be able to access all files on a computer.
Examples
Read file with some data:
MBS("Files.ReadFile"; $Path )
Read file with some data and encode base64:
MBS("Files.ReadFile"; "/Users/cs/Desktop/test.txt"; "base64")
Read as compressed container:
Set Field [Container Compression::SomeContainer; MBS("Files.ReadFile"; "/Users/cs/Desktop/test.jpg"; "compressed"; "test.jpg")]
Read file on Server:
MBS( "Files.ReadFile"; "C:\Programs\FileMaker Server\Data\Documents\test.pdf")
See also
Release notes
Example Databases
Blog Entries
This function is free to use.
Created 18th August 2014, last changed 4th August 2023
Files.ReadAndWriteFile
-
Files.ReadJPEG