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.