A very smart filemanager to manage your files in the browser developed in AngularJS following Material Design styles by Jonas Sciangula Street
This project provides a web file manager interface, allowing you to create your own backend connector following the connector API. By the way, we provide some example backend connectors in many languages as example (php-ftp, php-local, python, etc)
This project is under free license. If you want to support the angular-filemanager development or just thank it's main maintainer by paying a beer, you can make a donation by clicking the following button
Donate by Bitcoin wallet: 147ca6be-a6a5-4012-8209-8ec94ff340b8
- Multiple file support
- Multilanguage
- List and Icon view
- Multiple file upload
- Pick files callback for third parties apps
- Search files
- Directory tree navigation
- Copy, Move, Rename (Interactive UX)
- Delete, Edit, Preview, Download
- File permissions (Unix chmod style)
- Mobile support
- Drag and drop
- Dropbox and Google Drive connectors
- Remove usage of jQuery
1) Install deps using yarn with
yarn install
2) Include the dependencies in your project
<!-- third party -->
<script src="node_modules/jquery/dist/jquery.min.js"></script>
<script src="node_modules/angular/angular.min.js"></script>
<script src="node_modules/angular-translate/dist/angular-translate.min.js"></script>
<script src="node_modules/ng-file-upload/dist/ng-file-upload.min.js"></script>
<script src="node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="node_modules/bootswatch/paper/bootstrap.min.css" />
<!-- angular-filemanager -->
<link rel="stylesheet" href="dist/angular-filemanager.min.css">
<script src="dist/angular-filemanager.min.js"></script>
3) Use the angular directive in your HTML
<angular-filemanager></angular-filemanager>
<script type="text/javascript">
angular.module('FileManagerApp').config(['fileManagerConfigProvider', function (config) {
var defaults = config.$get();
config.set({
appName: 'angular-filemanager',
pickCallback: function(item) {
var msg = 'Picked %s "%s" for external use'
.replace('%s', item.type)
.replace('%s', item.fullPath());
window.alert(msg);
},
allowedActions: angular.extend(defaults.allowedActions, {
pickFiles: true,
pickFolders: false,
}),
});
}]);
</script>
gulp build || node node_modules/gulp/bin/gulp.js build
You can do many things by extending the configuration. Like hide the sidebar or the search button. See the list of default configurations.
To contribute to the project you can simply fork this repo. To build a minified version, you can simply run the Gulp
task gulp build
. The minified/uglified files are created in the dist
folder.
For transparency into our release cycle and in striving to maintain backward compatibility, angular-filemanager is maintained under the Semantic Versioning guidelines.
Code and documentation released under the MIT license.