Database File Provider
This example demonstrates the implementation of a custom FileBrowserContentProvider, using a SQL database as a file source. In the offline demos instalation the DBContentProvider class is available in the App_Code\Editor\ folder or in
this code library.
Custom FileBrowserContentProvider implementation allows using virtually any type of file sources for the RadFileExplorer:
- Database
- Custom role-based CMS system
- Web service
- Applications which use URL Rewriters
The DBFileBrowserContentProvider class inherits the abstract
Telerik.Web.UI.Widgets.FileBrowserContentProvider class and implements its abstract members:
-
ResolveRootDirectoryAsTree - Called in order to load all subfolders of the passed as parameter folder
-
ResolveDirectory - Called in order to load all files of the passed as parameter folder
-
StoreFile - called to save an uploaded file to the storage
-
DeleteFile - called when user deletes a file
-
DeleteDirectory - called when user deletes a directory
-
CreateDirectory - called when user creates a directory
-
CanCreateDirectory - a readonly property, which value identifies if the New Directory icon will exist in the FileBrowser
-
GetFile - used in two cases: 1) to identify if a file with the same name exists in the same path when uploading a file; 2) when creating a thumbnail used to get the original image content
-
StoreBitmap - used to save a newly created bitmap to the storage
-
GetFileName - used to return the name of a file with given URL
-
GetPath - used to return the path of an item (file or directory) with given URL
DBFileBrowserContentProvider uses a helper DataServer class, designed to handle the database operation functions.
The file content is stored in the database and is served by the content-streamer Handler.ashx file.
Note that the EnableFileOpen property has been disabled for this example, because opening the handler.ashx in a new window always forces the browser to download the image, instead of displaying it.