'use strict';
angular.module('zephyrApp', ['ui.bootstrap', 'ui.router', 'restangular','ngRoute','flow'])
-.config(function($locationProvider, $stateProvider, $urlRouterProvider, $httpProvider){
+.config(function($locationProvider, $stateProvider, $urlRouterProvider, $httpProvider, flowFactoryProvider){
$locationProvider.html5Mode({
enabled: true,
requireBase: false
// Debug
$urlRouterProvider.otherwise('/workspace/504d41f91d2f81f02561b93a0e9ccde4')
+ flowFactoryProvider.defaults = {
+ target: '/api/upload',
+ permanentErrors: [404, 500, 501],
+ maxChunkRetries: 1,
+ chunkRetryInterval: 5000,
+ simultaneousUploads: 4
+ };
+ flowFactoryProvider.on('catchAll', function (event) {
+ console.log('catchAll', arguments);
+ })
+
})
.run(function($rootScope, $state, Restangular, user) {
$rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams, user) {
angular.module('zephyrApp')
.controller('UploadFileModalController', function($scope, $modalInstance, Restangular) {
- var baseNoteSaving = Restangular.all('/api/noteCreation')
+ // To send multipart request from angular, we should set below
+ var baseUpload = Restangular.all('/api/upload').withHttpConfig({transformRequest: angular.identity})
+ $scope.upload = function() {
+ var fd = new FormData()
+ console.log($scope.files)
+ /*
+ angular.forEach($scope.files, function(file) {
- $scope.save = function() {
- var note = {
- name: $scope.noteName
- }
- note.content = new Array()
- angular.forEach($scope.commandDirectives, function(command) {
- if(command.isCompleted) {
- var obj = {
- command : command.params.command,
- inputDir : command.params.inputDir,
- outputDir: command.params.outputDir,
- optionDatas : command.params.options
- }
- note.content.push(obj)
- }
- })
- baseNoteSaving.post(JSON.stringify(note)).then(function(status) {
- console.log(status)
- $modalInstance.close()
- })
+ fd.append("dir", $scope.path)
+ fd.append("files", file)
+
+ baseUpload.customPOST(fd, undefined, undefined, { 'Content-Type': undefined })
+ .then(function(status) {
+ console.log('File upload', status)
+ $modalInstance.close()
+ })
+ })
+ */
+ }
+
+ $scope.bindFiles = function(files) {
+ $scope.files= files
}
$scope.close = function() {
</div>
<div class="modal-body">
- <div flow-init="{target: '/upload'}"
- flow-files-submitted="$flow.upload()"
- flow-file-success="$file.msg = $message">
-
- <span class="btn btn-default" flow-btn>Select</span>
+ <div class="container">
+ <div flow-init
+ flow-files-submitted="$flow.upload()">
+ <input type="file" flow-btn />
+ </div>
</div>
</div>
-<!--
- <div class="modal-footer">
+
+<div class="modal-footer">
<ul class="list-inline">
- <li>
- <button class="btn btn-default" ng-click="save()" type="button">save</button>
- </li>
- <li>
- <button class="btn btn-default" ng-click="close()" type="button">cancel</button>
- </li>
+ <li>
+ <button class="btn btn-default" ng-click="upload()" type="button">upload</button>
+ </li>
+ <li>
+ <button class="btn btn-default" ng-click="close()" type="button">cancel</button>
+ </li>
</ul>
- </div>
--->
+</div>
router.post('/', function(req, res) {
var form = new formidable.IncomingForm()
+ form.maxFieldsSize = 10 * 1024 * 1024
form.on('field', function(name, value) {
if(name === 'dir')
- form.uploadDir = path.normalize(__dirname+'/../../../workspace/'+value+'/')
+ form.uploadDir = path.normalize(__dirname+'/../../../'+value+'/')
+ console.log(form.uploadDir)
})
form.on('fileBegin', function(field, file) {
password: 'secret',
role: ['expert','amature'], // admin | expert | amature
notes: ['namae.json', 'sample_1.json'],
- workspaces: ['leaf', 'shokubutu']
+ workspaces: ['leaf', 'test']
}
var users = [user1]