File management the simple way.

So you need to upload or generate files and associate them with your entities? No problem!.

Working with files

From the end-user, a file is just another control that can be upload, download or preview. Modern HTML5 drag and drop of files is also available.

For the developer, as simple as creating a new file property on your entity and adding a FileLine control in the user interface.

This is all the necessary XAML code to create a FileLine and how it looks in Window (loaded and unloaded):

Similarly, this is all the necessary CSHTML code to create a FileLine and how it looks in Web (loaded and unloaded):

File types

File module gives you three different type of file entities:

  • EmbeddedFile: Stores the whole file embedded in the container entitiy. Just for small icons or documents.
  • File: Stores the file in a separate table, letting you have a Lite<FileDN> if the file is potentially big.
  • FilePath:Stores the file in the file system. The best solution if many files are expected,

So this means your files can be stored inside or outside of the database, associated or embedded in the entities. If you have a complex requirement, and you need an special type of file, just implement IFile interface.

File paths

For files are stored outside of the database (FilePath), you can also control the filenames and folder structures where they are stored in the file system (preserving the original file name).

Web applications can access them directly (and securely) as static files, improving performance.

Also, more than one repository can be registered for a file type, so when a HD is full it can continue in the next one...

Turn back to Signum Extensions