2016-04-07 11 views
4

Ich verwende dieses Plugin ng-flow zum Hochladen von .zip-Datei und es funktioniert ordnungsgemäß. Ich brauche dynamische Werte übergeben (user_id, job_id) in es für die Erstellung dynamischer Ordner, in denen die Dateien gespeichert erhalten, aber dieses Plugin verwendet Config-Methode zu erhalten zu initialisieren und ich bin nicht die Art und Weise bekommenMöchten Sie den dynamischen Ordnernamen in der flowFactoryProvider-Konfiguration festlegen, um sie an die Datei upload.php zu übergeben, um die hochgeladene Datei zu speichern

dynamischen Wert in Config-Methode übergeben

unten die Codes sind, die ich

Ansicht Teil verwendet haben - index.html

Serverteil - upload.php

Controller Teil - app.js, hier finden Sie eine Konfigurationsfunktion finden, wo ich dynamische Werte Serverteil übergeben werden soll. In Config-Methode habe ich versucht, einen Provider für den Zugriff auf dynamische Werte zu definieren, aber ich habe den Weg nicht gefunden. Gibt es eine Möglichkeit, Werte in Config zugreifen (Werte, die ich zugreifen möchte, ist in localstorageService Plugin)

Hoffe, dass ich erklärt habe clearly.Any Ihnen helfen oder Vorschlag wäre Vielen Dank im Voraus

Antwort

2

ich habe erkannt werden, Lösung, wie ich dynamischen Wert dynamische Werte an Server Teil übergeben kann.

ersten Satz Strömungs init Ihrer Ansicht nach Teil

<div flow-init = "{ 
           target: '../../dummy.php', 
           permanentErrors: [404, 500, 501], 
           maxChunkRetries: 1, 
           chunkRetryInterval: 5000, 
           simultaneousUploads: 4, 
           headers: config 
        };"> 

Dann

in Ihrem Controller dynamisch auf diese Konfigurationsvariable der Header gesetzt
$scope.config = { 
     id: localStorageService.get('userkey').id, 
     token: localStorageService.get('userkey').token 
    }; 

(localStorageService meine Login-Daten enthalten)

jetzt Sie können auf diese ID und dieses Token von der Serverseite aus zugreifen, indem Sie $ _SERVER

verwenden
$_SERVER['HTTP_ID']; 
$_SERVER['HTTP_TOKEN']; 
3

In Sie Wert hinzufügen und initialisieren Datei index.html:

<div ng-controller="dataCtrl"> 
    <input ng-init="id=2374897289345" type="hidden"/> 
</div> 

Dann öffnen app.js und fügen Sie Controller mit folgenden Code:

.controller('dataCtrl', ['$scope', function($scope){ 
    console.log('Hello'); 
    $scope.$on('flow::fileAdded', function (event, $flow, flowFile) {  
     $flow.opts.query = {id:$scope.id}; 
    }); 

}]) 

nun Ihre Datei in Post zugreifen können.