2009-07-15 20 views
0

Ich kann kein Bild mit Zend_Service_Nirvanix hochladen. Ist es überhaupt möglich? Ich habe das Gefühl, dass mein Problem damit zu tun hat, dass ich nicht in der Lage bin, herauszufinden, wie man den UploadHost auf dem Übertragungsdienst einstellt.Image Upload mit Zend_Service_Nirvanix

Jede Hilfe wird sehr geschätzt! Mein letzter Termin ist der 16. Juli!

Hier ist mein Code:

$nirvanix = new Zend_Service_Nirvanix(array('appKey' => $key, 
              'username' => $user, 
              'password' => pass)); 

$NSImfs = $nirvanix->getService('IMFS'); 
$options = array('sizeBytes' => filesize($source)); 
$storageNode = $NSImfs->getStorageNode($options); 

$NSTransfer = $nirvanix->getService('Transfer'); 
$options = array('uploadToken' => $storageNode->getStorageNode->UploadToken, 
       'path' => $original, 
       'fileData' => file_get_contents($source)); 
$result = $NSTransfer->uploadFile($options); 

Hier ist der Fehler Ich erhalte:

Zend_Service_Nirvanix_Exception: Serverfehler in ': XML nicht aus Reaktion analysiert werden konnte/'Anwendung. Die Ressource kann nicht gefunden werden. Beschreibung: HTTP 404. Die Ressource, die Sie suchen für (oder eine seiner Abhängigkeiten) konnte wurden entfernt, hatte seinen Namen geändert, oder ist vorübergehend nicht verfügbar. Bitte überprüfen Sie die folgende URL und stellen Sie sicher, dass es richtig geschrieben ist.

Angeforderte URL: /ws/Transfer/UploadFile.ashx

in /Applications/MAMP/bin/php5/lib/php/Zend/Service/Nirvanix/Response.php on line 119

Antwort

0

Um einen lokalen Upload (anstelle eines Web-Uploads über den Browser) durchzuführen, müssen Sie nur die putContents-Methode aufrufen und die Dateidaten übergeben.

Beispiel:

$nirvanix = new Zend_Service_Nirvanix(array('appKey' => $key, 
              'username' => $user, 
              'password' => pass)); 

$NSImfs = $nirvanix->getService('IMFS'); 

$response = $NSImfs->putContents($destination_file_and_path, 
           file_get_contents($source_file)); 

if($response->ResponseCode != 0) 
{ 
    echo 'Fail!'; 
} 

Sie würden GetStorageNode nur anrufen, wenn Sie einen Token generieren möchten Token den Upload, einen Browser zu übergeben.

0

Sie bekommen einen 404?

  • Haben Sie nach einer aktualisierten Version dieser Bibliothek gesucht?
  • Versuchen Sie, in die Bibliothek zu gehen und UploadFile.ashx zu zu ändern. Ich denke nicht, dass Aschx keine Standard Erweiterung ist.

Vielleicht wird das es beheben.

+0

Alle Nirvanix-Dienste verwenden die Erweiterung .ashx. Ich denke, wir verwenden Zend Framework Version 1.7.1. –

0

Es gibt ein kommerzielles Upload-Tool von Aurigma, das den Upload von Dateien und Bildern nach Nirvanix unterstützt. Hier ist die link (siehe Hochladen in Nirvanix Abschnitt dort) zum Hilfethema zu überprüfen.

+0

Danke, aber nein danke. Aurigmas Werkzeug ist gebrandmarkt. Es ist auch Javascript + Java, nicht PHP + Flash oder direktes PHP. –

Verwandte Themen