OSDN Git Service

Before trying websocket
authorhimetani_cafe <fumifumi@yasunaga-lab.bio.kyutech.ac.jp>
Fri, 7 Aug 2015 15:41:20 +0000 (00:41 +0900)
committerhimetani_cafe <fumifumi@yasunaga-lab.bio.kyutech.ac.jp>
Fri, 7 Aug 2015 15:41:20 +0000 (00:41 +0900)
client/app/app.js
client/app/components/uploadFileModal/uploadFileModal.controller.js
client/app/components/uploadFileModal/uploadFileModal.html
server/api/upload/index.js
server/jb.js

index b74cd69..412adc7 100644 (file)
@@ -1,7 +1,7 @@
 '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
@@ -12,6 +12,17 @@ angular.module('zephyrApp', ['ui.bootstrap', 'ui.router', 'restangular','ngRoute
     // 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) {
index dad7288..2b76acd 100644 (file)
@@ -2,28 +2,28 @@
 
 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() {
index 79f9d69..fd00b15 100644 (file)
@@ -3,23 +3,22 @@
 </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>
 
index 3e5d6c8..48f80fb 100644 (file)
@@ -8,10 +8,12 @@ var express = require('express'),
 
 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) {
index fbf9776..7ef1086 100644 (file)
@@ -13,7 +13,7 @@ if(process.env.DB_ZEPHYR === 'drop') {
         password: 'secret',
         role: ['expert','amature'], // admin | expert | amature
         notes: ['namae.json', 'sample_1.json'],
-        workspaces: ['leaf', 'shokubutu']
+        workspaces: ['leaf', 'test']
     }
 
     var users = [user1]