-
Notifications
You must be signed in to change notification settings - Fork 7
Home
Marek Fišera edited this page Feb 6, 2019
·
10 revisions
A simple file upload web app with cool features like drag and drop. Also with steps to host as a linux service. Features:
- Multi file upload.
- Async upload using AJAX.
- Upload progress.
- Drag & drop support.
- Paste from clipboard support (not working when pasting from
Windows File Explorer, not sure why).
Section Upload:
-
Default- A default profile. Can be null, only named profiles are then used. -
Profiles- As an extension to default profile, you can define any number of additional files. These are defined as key-value pairs where key is used as an URL slug; and value is "profile" configuration.
Section Profile:
-
MaxLength- A maximum size of upload file in bytes. -
SupportedExtensions- An array of supported file extension (including '.'). -
StoragePath- A server path where upload files should be stored. -
MaxStorageLength- A max storage folder size. -
IsOverrideEnabled- A boolean switch if overriding existing files is enabled. -
IsDownloadEnabled- A boolean switch if download of existing files is enabled. -
IsBrowserEnabled- A boolean switch if file listing is enabled. -
IsDeleteEnabled- A boolean switch if deleting existing file is enabled. -
IsListed- A boolean switch if profile should be listed in user menu. -
Roles- An array of string containing roles allowed to manipulate with the profile. -
BackupTemplate- A file rename template used to backup file before overriding with a new one. See #17. -
DateTimeFormat- A file modification date time format. See #31.
Section Authentication:
-
Accounts- An array of section Account.
Section Account:
-
username- An username. -
password- An Sha256 hash computed as{username}.{password}. -
roles- An array of roles assigned to the account. ...
Example:
{
//...
"Upload": {
"Default": {
"MaxLength": 500000, // 500KB
"SupportedExtensions": [ ".png", ".zip", ".doc" ],
"StoragePath": "C:/Temp/Upload",
"IsOverrideEnabled": true
},
"Profiles": {
"images": {
"MaxLength": 200000, // 200KB
"SupportedExtensions": [ ".png", ".jpg", ".gif" ],
"StoragePath": "C:/Temp/Upload/Images",
"MaxStorageLength": 2000000 // 2MB
},
"sources": {
"MaxLength": 100000, // 100KB
"SupportedExtensions": [ ".cs", ".aspx", ".ascx" ],
"StoragePath": "C:/Temp/Upload/Sources",
"IsBrowserEnabled": true
}
}
}
//...
}URLs:
-
~/- Default profile. -
~/images- 'Images' profile; -
~/sources- 'Sources' profile;