2009-07-15 2 views
0

Я не уверен, что загружаю изображение с помощью Zend_Service_Nirvanix. Возможно ли это? У меня такое чувство, что моя проблема связана с тем, что вы не можете понять, как установить UploadHost в Transfer Service.Загрузка изображения с помощью Zend_Service_Nirvanix

Любая помощь очень ценится! Мой срок - 16 июля!

Вот мой код:

$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); 

Здесь ошибка я получаю:

Zend_Service_Nirvanix_Exception: XML не может быть разобрано от ответа: Ошибка сервера в ' /' Заявка. Ресурс не найден. Описание: HTTP 404. Ресурс, который вы ищете для (или одной из его зависимостей) может быть удален , было ли его имя изменено или временно недоступно. Ознакомьтесь с приведенным ниже адресом и убедитесь, что он правильно указан .

Запрошенный URL: /ws/Transfer/UploadFile.ashx

в /Applications/MAMP/bin/php5/lib/php/Zend/Service/Nirvanix/Response.php на линии 119

ответ

0

Чтобы сделать локальную загрузку (а не веб-загрузку через браузер), вам просто нужно вызвать метод putContents, передающий данные файлов.

Пример:

$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!'; 
} 

Вы бы только позвонить GetStorageNode, если вы хотите создать маркер для передачи браузер, маркер загрузки.

0

Вы получаете 404?

  • Вы проверили обновленную версию этой библиотеки?
  • Попробуйте войти в libray и сменив UploadFile.ashx на UploadFile.aspx. Я не думаю, что ashx не является стандартным расширением.

Возможно, это исправит.

+0

Все службы Nirvanix используют расширение .ashx. Я думаю, что мы используем Zend Framework версии 1.7.1. –

0

Есть коммерческий инструмент для загрузки от Aurigma, который поддерживает загрузку файлов и изображений в Nirvanix. Вот link (см. Раздел «Загрузка в раздел Nirvanix») в раздел справки для проверки.

+0

Спасибо, но не спасибо. Инструмент Ауригмы заклеймен. Кроме того, это Javascript + Java, а не PHP + Flash или прямой PHP. –

Смежные вопросы