The file system provider allows the File Manager component to manage the files and folders in a physical or cloud-based file system. It provides the methods for performing various file actions like creating a new folder, copying and moving of files or folders, deleting, uploading, and downloading the files or folders in the file system.
The following file providers are added in Syncfusion EJ2 File Manager component.
The ASP.NET Core file system provider allows the users to access and manage the physical file system. To get started, clone the ej2-aspcore-file-provider using the following command.
git clone https://github.com/SyncfusionExamples/ej2-aspcore-file-provider ej2-aspcore-file-provider
cd ej2-aspcore-file-provider
After cloning, just open the project in Visual Studio and restore the NuGet packages. Now, set the root directory of the physical file system in the FileManager controller.
After setting the root directory of the file system, just build and run the project. Now, the project will be hosted in http://localhost:{port}
and just mapping the ajaxSettings property of the FileManager component to the appropriate controller methods allows to manage the files in the physical file system.
let hostUrl = 'http://localhost:{port}/';
// Initializing File Manager ASP.NET Core service.
let filemanagerInstance: FileManager = new FileManager({
ajaxSettings: {
// Replace the hosted port number in the place of "{port}"
url: hostUrl + "api/FileManager/FileOperations",
downloadUrl: hostUrl + "api/FileManager/Download",
uploadUrl: hostUrl + "api/FileManager/Upload",
getImageUrl: hostUrl + "api/FileManager/GetImage"
}
});
filemanagerInstance.appendTo('#filemanager');
Note: To learn more about the file actions that can be performed with ASP.NET Core file system provider, refer to this link
The ASP.NET MVC 5 file system provider allows the users to access and manage the physical file system. To get started, clone the ej2-aspmvc-file-provider using the following command.
git clone https://github.com/SyncfusionExamples/ej2-aspmvc-file-provider ej2-aspmvc-file-provider
cd ej2-aspmvc-file-provider
After cloning, just open the project in Visual Studio and restore the NuGet packages. Now, set the root directory of the physical file system in the FileManager controller using the Root Folder method.
After setting the root directory of the file system, just build and run the project. Now, the project will be hosted in http://localhost:{port}
and just mapping the ajaxSettings property of the FileManager component to the appropriate controller methods allows to manage the files in the physical file system.
let hostUrl = 'http://localhost:{port}/';
// Initializing File Manager ASP.NET MVC service.
let filemanagerInstance: FileManager = new FileManager({
ajaxSettings: {
// Replace the hosted port number in the place of "{port}"
url: hostUrl + "FileManager/FileOperations",
downloadUrl: hostUrl + "FileManager/Download",
uploadUrl: hostUrl + "FileManager/Upload",
getImageUrl: hostUrl + "FileManager/GetImage"
}
});
filemanagerInstance.appendTo('#filemanager');
Note: To learn more about the file actions that can be performed with ASP.NET MVC 5 file system provider, refer to this link
In ASP.NET Core, Azure file system provider allows the users to access and manage the blobs in the Azure blob storage. To get started, clone the azure-aspcore-file-provider using the following command
git clone https://github.com/SyncfusionExamples/azure-aspcore-file-provider azure-aspcore-file-provider
After cloning, just open the project in Visual Studio and restore the NuGet packages. Now, register the Azure storage by passing details like name, password, and blob name to the Register Azure method in the FileManager controller.
void RegisterAzure(string accountName, string accountKey, string blobName)
Then, set the blob container and the root blob directory by passing the corresponding URLs as parameters in the setBlobContainer method as follows.
void setBlobContainer(string blobPath, string filePath)
Note: Also, assign the same blobPath URL and filePath URL in AzureFileOperations and AzureUpload methods in the FileManager controller to determine the original path of the Azure blob.
After setting the blob container references, just build and run the project. Now, the project will be hosted in http://localhost:{port}
and just mapping the ajaxSettings property of the FileManager component to the appropriate controller methods allows to manage the Azure blob storage.
let hostUrl = 'http://localhost:{port}/';
// Initializing File Manager Azure cloud file system service.
let filemanagerInstance: FileManager = new FileManager({
ajaxSettings: {
// Replace the hosted port number in the place of "{port}"
url: hostUrl + "api/AzureProvider/AzureFileOperations",
downloadUrl: hostUrl + "api/AzureProvider/AzureDownload",
uploadUrl: hostUrl + "api/AzureProvider/AzureUpload",
getImageUrl: hostUrl + "api/AzureProvider/AzureGetImage"
}
});
filemanagerInstance.appendTo('#filemanager');
NuGet: Additionally, we have created a NuGet package of ASP.NET Core Azure file system provider.
Please, use the following command to install the NuGet package in an application.
dotnet add package Syncfusion.EJ2.FileManager.AzureFileProvider.AspNet.Core
Note: To learn more about the file actions that can be performed with ASP.NET Core Azure Cloud File System Provider, refer to this link
In ASP.NET MVC, Azure file system provider allows the users to access and manage the blobs in the Azure blob storage. To get started, clone the ej2-azure-aspmvc-file-provider using the following command
git clone https://github.com/SyncfusionExamples/ej2-azure-aspmvc-file-provider ej2-azure-aspmvc-file-provider
After cloning, just open the project in Visual Studio and restore the NuGet packages. Now, register the Azure storage by passing details like name, password, and blob name to the Register Azure method in the FileManager controller.
void RegisterAzure(string accountName, string accountKey, string blobName)
Then, set the blob container and the root blob directory by passing the corresponding URLs as parameters in the setBlobContainer method as follows.
void setBlobContainer(string blobPath, string filePath)
Note: Also, assign the same blobPath URL and filePath URL in AzureFileOperations and AzureUpload methods in the FileManager controller to determine the original path of the Azure blob.
After setting the blob container references, just build and run the project. Now, the project will be hosted in http://localhost:{port}
and just mapping the ajaxSettings property of the FileManager component to the appropriate controller methods allows to manage the Azure blob storage.
let hostUrl = 'http://localhost:{port}/';
// Initializing File Manager Azure cloud file system service.
let filemanagerInstance: FileManager = new FileManager({
ajaxSettings: {
// Replace the hosted port number in the place of "{port}"
url: hostUrl + "AzureProvider/AzureFileOperations",
downloadUrl: hostUrl + "AzureProvider/AzureDownload",
uploadUrl: hostUrl + "AzureProvider/AzureUpload",
getImageUrl: hostUrl + "AzureProvider/AzureGetImage"
}
});
filemanagerInstance.appendTo('#filemanager');
Note: To learn more about the file actions that can be performed with ASP.NET MVC Azure Cloud File System Provider, refer to this link
In ASP.NET Core, Amazon S3 (Simple Storage Service) cloud file provider allows the users to access and manage a server hosted file system as collection of objects stored in the Amazon S3 Bucket. To get started, clone the amazon-s3-aspcore-file-provider using the following command
git clone https://github.com/SyncfusionExamples/amazon-s3-aspcore-file-provider.git amazon-s3-aspcore-file-provider.git
Note: To learn more about creating and configuring an Amazon S3 bucket, refer to this link.
After cloning, open the project in Visual Studio and restore the NuGet packages. Now, register Amazon S3 client account details like awsAccessKeyId, awsSecretKeyId and awsRegion details in RegisterAmazonS3 method in the FileManager controller to perform the file operations.
void RegisterAmazonS3(string bucketName, string awsAccessKeyId, string awsSecretAccessKey, string bucketRegion)
After registering the Amazon client account details, just build and run the project. Now, the project will be hosted in http://localhost:{port}
and just mapping the ajaxSettings property of the FileManager component to the appropriate controller methods allows to manage the Amazon S3 (Simple Storage Service) bucket’s objects storage.
let hostUrl = 'http://localhost:{port}/';
// Initializing File Manager with Amazon S3 service configuration.
let filemanagerInstance: FileManager = new FileManager({
// Replace the hosted port number in the place of "{port}"
ajaxSettings: {
url: hostUrl + "api/AmazonS3Provider/AmazonS3FileOperations",
downloadUrl: hostUrl + "api/AmazonS3Provider/AmazonS3Download",
uploadUrl: hostUrl + "api/AmazonS3Provider/AmazonS3Upload",
getImageUrl: hostUrl + "api/AmazonS3Provider/AmazonS3GetImage"
}
});
filemanagerInstance.appendTo('#filemanager');
Note: To learn more about the file actions that can be performed with Amazon S3 Cloud File provider, refer to this link
In ASP.NET MVC, Amazon S3 (Simple Storage Service) cloud file provider allows the users to access and manage a server hosted files as collection of objects stored in the Amazon S3 Bucket. To get started, clone the ej2-amazon-s3-aspmvc-file-provider using the following command
git clone https://github.com/SyncfusionExamples/ej2-amazon-s3-aspmvc-file-provider.git ej2-amazon-s3-aspmvc-file-provider.git
Note: To learn more about creating and configuring an Amazon S3 bucket, refer to this link.
After cloning, open the project in Visual Studio and restore the NuGet packages. Now, register Amazon S3 client account details like awsAccessKeyId, awsSecretKeyId and awsRegion details in RegisterAmazonS3 method in the FileManager controller to perform the file operations.
void RegisterAmazonS3(string bucketName, string awsAccessKeyId, string awsSecretAccessKey, string bucketRegion)
After registering the Amazon client account details, just build and run the project. Now, the project will be hosted in http://localhost:{port}
and just mapping the ajaxSettings property of the FileManager component to the appropriate controller methods allows to manage the Amazon S3 (Simple Storage Service) bucket’s objects storage.
let hostUrl = 'http://localhost:{port}/';
// Initializing File Manager with Amazon S3 service configuration.
let filemanagerInstance: FileManager = new FileManager({
// Replace the hosted port number in the place of "{port}"
ajaxSettings: {
url: hostUrl + "FileManager/FileOperations",
downloadUrl: hostUrl + "FileManager/Download",
uploadUrl: hostUrl + "FileManager/Upload",
getImageUrl: hostUrl + "FileManager/GetImage"
}
});
filemanagerInstance.appendTo('#filemanager');
Note: To learn more about the file actions that can be performed with ASP.NET MVC Amazon S3 Cloud File Provider, refer to this link
In ASP.NET Core, File Transfer Protocol file system provider allows the users to access to the hosted file system as collection of objects stored in the file storage using File Transfer Protocol. To get started, clone the ftp-aspcore-file-provider using the following command
git clone https://github.com/SyncfusionExamples/ftp-aspcore-file-provider.git ftp-aspcore-file-provider.git
After cloning, open the project in Visual Studio and restore the NuGet packages. Now, register File Transfer Protocol details like hostName, userName and password in SetFTPConnection method in the FileManager controller to perform the file operations.
void SetFTPConnection(string hostName, string userName, string password)
After registering the File Transfer Protocol details, just build and run the project. Now, the project will be hosted in http://localhost:{port}
and just mapping the ajaxSettings property of the FileManager component to the appropriate controller methods allows to manage the FTP’s objects storage.
let hostUrl = 'http://localhost:{port}/';
// Initializing File Manager with file transfer protocol service configuration.
let filemanagerInstance: FileManager = new FileManager({
// Replace the hosted port number in the place of "{port}"
ajaxSettings: {
url: hostUrl + "api/FTPProvider/FTPFileOperations",
downloadUrl: hostUrl + "api/FTPProvider/FTPDownload",
uploadUrl: hostUrl + "api/FTPProvider/FTPUpload",
getImageUrl: hostUrl + "api/FTPProvider/FTPGetImage"
}
});
filemanagerInstance.appendTo('#filemanager');
Note: To learn more about the file actions that can be performed with File Transfer Protocol file system provider, refer to this link
In ASP.NET Core, SQL database file system provider in ASP.NET Core allows the users to manage the file system being maintained in a SQL database table. Unlike the other file system providers, the SQL database file system provider works on ID basis. Here, each file and folder have a unique ID based on which all the file operations will be performed. To get started, clone the sql-server-database-aspcore-file-provider using the following command.
<add name="FileExplorerConnection" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\FileManager.mdf;Integrated Security=True;Trusted_Connection=true" />
After cloning, just open the project in Visual Studio and restore the NuGet packages. To establish the SQL server connection with the database file (for eg: FileManager.mdf), specify the connection string in the web config file as follows.
<add name="FileExplorerConnection" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\FileManager.mdf;Integrated Security=True;Trusted_Connection=true" />
Then, make an entry for the connection string in appsettings.json
file as follows.
"ConnectionStrings": {
"FileManagerConnection": "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\App_Data\\FileManager.mdf;Integrated Security=True;Connect Timeout=30"
}
Now, to configure the database connection, set the connection name, table name and root folder ID value by passing these values to the SetSQLConnection method.
void SetSQLConnection(string name, string tableName, string tableID)
Refer to this FileManager.mdf, to learn about the pre-defined file system SQL database for the EJ2 File Manager.
After configuring the connection, just build and run the project. Now, the project will be hosted in http://localhost:{port}
and just mapping the ajaxSettings property of the FileManager component to the appropriate controller methods allows to manage the files in the SQL database table.
let hostUrl = 'http://localhost:{port}/';
// Initializing File Manager with SQL Server Database service configuration.
let filemanagerInstance: FileManager = new FileManager({
ajaxSettings: {
// Replace the hosted port number in the place of "{port}"
url: hostUrl + "api/SQLProvider/SQLFileOperations",
downloadUrl: hostUrl + "api/SQLProvider/SQLDownload",
uploadUrl: hostUrl + "api/SQLProvider/SQLUpload",
getImageUrl: hostUrl + "api/SQLProvider/SQLGetImage"
}
});
filemanagerInstance.appendTo('#filemanager');
Note: To learn more about the file actions that can be performed with SQL database file system provider, refer to this link
The NodeJS file system provider allows the users to manage the files and folders in a physical file system. It provides methods for performing all basic file operations like creating a folder, copy, move, delete, and download files and folders in the file system. We can use of the NodeJS file system provider either by installing the ej2-filemanager-node-filesystem package or by cloning the file system provider from the GitHub.
npm install @syncfusion/ej2-filemanager-node-filesystem
git clone https://github.com/SyncfusionExamples/ej2-filemanager-node-filesystem.git node-filesystem-provider
After installing the packages, set the root folder directory of the physical file system in the package JSON under scripts sections as follows.
"start": "node filesystem-server.js -d D:/Projects"
Note: By default, the root directory will be configured to set
C:/Users
as the root directory.
To set the port in which the project to be hosted and the root directory of the file system. Run the following command.
set PORT=3000 && node filesystem-server.js -d D:/Projects
Note: By default, the service will run
8090
port.
Now, just mapping the ajaxSettings property of the FileManager component to the appropriate file operation methods in the filesystem-server.js file will allows to manage the physical file system with NodeJS file system provider.
let hostUrl = 'http://localhost:{port}/';
// Initializing File Manager with NodeJS service.
let filemanagerInstance: FileManager = new FileManager({
// Replace the hosted port number in the place of "{port}"
ajaxSettings: {
url: hostUrl,
downloadUrl: hostUrl + "Download",
uploadUrl: hostUrl + "Upload",
getImageUrl: hostUrl + "GetImage"
}
});
filemanagerInstance.appendTo('#filemanager');
Note: To learn more about the file actions that can be performed with NodeJS file system provider, refer to this link
In ASP.NET Core, Google Drive file system provider in ASP.NET Core allows the users to manage the files and folders in a Google Drive account. The Google Drive file system provider works on ID basis where each file and folder have a unique ID. To get started, clone the google-drive-aspcore-file-provider using the following command.
git clone https://github.com/SyncfusionExamples/google-drive-aspcore-file-provider google-drive-aspcore-file-provider
cd google-drive-aspcore-file-provider
Google Drive file system provider use the Google Drive APIs to read the file in the file system and uses the OAuth 2.0 protocol for authentication and authorization. To authenticate from the client end, obtain OAuth 2.0 client credentials from the Google API Console
. To learn more about generating the client credentials from the from Google API Console, refer to this link.
After generating the client secret data, copy the JSON data to the following specified JSON files in the cloned location.
After updating the credentials, just build and run the project. Now, the project will be hosted in http://localhost:{port}
, and it will ask to log on to the Gmail account created for the client secret credentials. Then, provide permission to access the Google Drive files by clicking the allow access button in the page. Now, just mapping the ajaxSettings property of the FileManager component to the appropriate controller methods will allows to manage the files from the Google Drive.
let hostUrl = 'http://localhost:{port}/';
// Initializing File Manager with Google drive service configuration.
let filemanagerInstance: FileManager = new FileManager({
ajaxSettings: {
// Replace the hosted port number in the place of "{port}"
url: hostUrl + "api/GoogleDriveProvider/GoogleDriveFileOperations",
downloadUrl: hostUrl + "api/GoogleDriveProvider/GoogleDriveDownload",
uploadUrl: hostUrl + "api/GoogleDriveProvider/GoogleDriveUpload",
getImageUrl: hostUrl + "api/GoogleDriveProvider/GoogleDriveGetImage"
}
});
filemanagerInstance.appendTo('#filemanager');
Note: To learn more about the file actions that can be performed with Google drive file system provider, refer to this link
The Firebase Realtime Database file system provider in ASP.NET Core provides the efficient way to store the File Manager file system in a cloud database as JSON representation.
Follow the given steps to generate the secret access key:
To interpolate with the Firebase Realtime Database, create a project under Firebase Realtime Database, and then enable the read and write permissions to access the Firebase Database by specifying the rules within the authentication tab of the Firebase project as demonstrated in the following code snippet.
Note: By default, rules of a Firebase project will be false. To read and write the data, configure the Rules as given in the following code snippet in the Rules tab in the Firebase Realtime Database project.
{
/* Visit https://firebase.google.com/docs/database/security to learn more about security rules. */
"rules": {
".read": "auth!=null",
".write": "auth!=null"
}
}
Then, create a root node and add children to the root node. Refer to the following code snippet for the structure of JSON.
{
"Files" : [ {
"caseSensitive" : false,
"dateCreated" : "8/22/2019 5:17:55 PM",
"dateModified" : "8/22/2019 5:17:55 PM",
"filterId" : "0/",
"filterPath" : "/",
"hasChild" : false,
"id" : "5",
"isFile" : false,
"isRoot" : true,
"name" : "Music",
"parentId" : "0",
"selected" : false,
"showHiddenItems" : false,
"size" : 0,
"type" : "folder"
},
{
"caseSensitive" : false,
"dateCreated" : "8/22/2019 5:18:03 PM",
"dateModified" : "8/22/2019 5:18:03 PM",
"filterId" : "0/",
"filterPath" : "/",
"hasChild" : false,
"id" : "6",
"isFile" : false,
"isRoot" : true,
"name" : "videos",
"parentId" : "0",
"selected" : false,
"showHiddenItems" : false,
"size" : 0,
"type" : ""
}]
}
Here, the Files
denotes the rootNode
and the subsequent object refers to the children of the root node. rootNode
will be taken as the root folder of the file system loaded which will be loaded in File Manager component.
After that, clone the firebase-realtime-database-apscore-file-provider
and just open the project in Visual Studio and restore the NuGet package.
Register the Firebase Realtime Database by assigning Firebase Realtime Database REST API link, rootNode, and serviceAccountKeyPath parameters in the RegisterFirebaseRealtimeDB
method of class FirebaseRealtimeDBFileProvider
in the controller part of the ASP.NET Core application.
void RegisterFirebaseRealtimeDB(string apiUrl, string rootNode, string serviceAccountKeyPath)
Example:
void RegisterFirebaseRealtimeDB("https://filemanager-c0f6d.firebaseio.com/", "Files", "{give the service account key path}");
In the above code,
https://filemanager-c0f6d.firebaseio.com/
denotes Firebase Realtime Database REST API linkFiles
denotes newly created root node in Firebase Realtime Database{give the service account key path}
denotes service account key path which has authentication key for the Firebase Realtime Database data.After configuring the Firebase Realtime Database service link, build and run the project. Now, the project will be hosted in http://localhost:{port}
and just mapping the ajaxSettings property of the File Manager component to the appropriate controller methods allows to manage the files in the Firebase Realtime Database.
let hostUrl = 'http://localhost:{port}/';
// Initializing File Manager with Firebase Realtime Database service.
let feObj: FileManager = new FileManager({
// Replace the hosted port number in the place of "{port}"
ajaxSettings: {
url: hostUrl + "api/FirebaseProvider/FirebaseRealtimeFileOperations",
downloadUrl: hostUrl + "api/FirebaseProvider/FirebaseRealtimeDownload",
uploadUrl: hostUrl + "api/FirebaseProvider/FirebaseRealtimeUpload",
getImageUrl: hostUrl + "api/FirebaseProvider/FirebaseRealtimeGetImage"
}
});
feObj.appendTo('#file');
Note: To learn more about the file actions that can be performed with Firebase Realtime Database file system provider, refer to this link
The IBM Cloud Object Storage file provider module allows you work with the IBM Cloud Object Storage. It also provides the methods for performing various file actions such as creating a new folder, renaming files, and deleting files. The IBM Cloud Object Storage file provider serves the file provider support for the File Manager component with the IBM Cloud Object Storage. We can make use of IBM Cloud Object Storage file provider by installing the ej2-filemanager-ibm-cos-node-file-provider npm package or by cloning the file provider from the GitHub.
npm install @syncfusion/ej2-filemanager-ibm-cos-node-file-provider
git clone https://github.com/SyncfusionExamples/filemanager-ibm-cos-node-file-provider.git
To set the port in which the project to be hosted. Run the following command.
set PORT=3000 && node index.js
Note: By default, the service will run
8090
port.
Now, just mapping the ajaxSettings property of the FileManager component to the appropriate file operation methods in the index.js file will allow to manage the IBM Cloud Object Storage.
let hostUrl = 'http://localhost:{port}/';
// Initializing File Manager with IBM COS service.
let filemanagerInstance: FileManager = new FileManager({
// Replace the hosted port number in the place of "{port}"
ajaxSettings: {
url: hostUrl,
downloadUrl: hostUrl + "Download",
uploadUrl: hostUrl + "Upload",
getImageUrl: hostUrl + "GetImage"
}
});
filemanagerInstance.appendTo('#filemanager');
Note: To learn more about the file actions that can be performed with IBM Cloud Object Storage file provider, refer to this link