2009-07-15 11 views
0

Zend_Service_Nirvanixを使用して画像をアップロードできないようです。それも可能ですか? Transfer ServiceでUploadHostを設定する方法を理解できないという問題が私の問題と関連しています。Image Zend_Service_Nirvanixでアップロードする

すべてのヘルプは大歓迎です!私の期限は7月16日です!ここで

は私のコードです:

はZend_Service_Nirvanix_Exception:XML は応答から解析できませんでした: サーバーエラーが発生しました '。ここ

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

は、私は入れませんエラーです/' 応用。 リソースが見つかりません。説明: HTTP 404です。 (またはその依存関係の1つ)が であり、その名前が に変更されたか、または一時的に が使用できなくなった可能性があります。 URLに続く を確認して、それが正しく であることを確認してください。

要求されたURL: で/ws/Transfer/UploadFile.ashx

/Applications/MAMP/bin/php5/lib/php/Zend/Service/Nirvanix/Response.php ライン119

答えて

0

(ブラウザ経由のWebアップロードではなく)ローカルアップロードを行うには、ファイルデータを渡す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.ashxUploadFile.aspxに変更してみてください。私はashxが標準的な拡張ではないとは思わない。

多分それを修正します。

+0

すべてのNirvanixサービスでは.ashx拡張が使用されます。 Zend Frameworkバージョン1.7.1を使用していると思います。 –

0

Nirvanixへのファイルと画像のアップロードをサポートするAurigmaの商用アップロードツールがあります。確認するヘルプトピックにlink(Nirvanixへのアップロードのセクションを参照)があります。

+0

ありがとうございます、ありがとうございます。 Aurigmaのツールはブランドです。また、それはJavascript + Javaであり、PHP + FlashやストレートPHPではありません。 –

関連する問題