1

Trigger.io を使用して写真を Appcelerator Cloud Services (ACS) ストレージにアップロードしようとしています。

ファイル オブジェクトに使用する正しい構文がわかりません。「エラー: 構文エラー、認識できない式: #[object Object]」というエラーが表示されます

関連するコードは次のとおりです。

$("#photograph-record").on("click", function(){
    forge.file.getImage({source:"camera", width: 280, height: 280},function(file) {

    var data = {
          photo: file  //the ID of file input control
        };

    sdk.sendRequest('photos/create.json', 'POST', data, callback);
    });
});

ACS Photo クラスのドキュメントは次のとおりです - http://cloud.appcelerator.com/docs/api/v1/photos/create

必須パラメータ - 写真: 添付のバイナリ ファイル

バイナリである必要があるので、「photo: forge.file.string(file)」( http://docs.trigger.io/en/v1.4/modules/file.html#modules-file )を試しましたが、 Appcelerator 側で「写真のアップロードには写真パラメータが必要です」というエラーが発生しました。

forge.file.urlを使用してアプリのページビューに画像を渡すのに問題はないので、ファイルオブジェクトに問題がないことはわかっています.sdk.sendRequest呼び出しにバイナリとして渡すための正しい構文を見つけているだけです.

これを機能させるためにデータ変数に何を渡す必要があるかについてのアイデアはありますか?

4

1 に答える 1

1

Appcelerator のドキュメントはここで非常に優れていますphoto。バイナリ イメージ データを含む POST パラメータが呼び出されることを期待しているようです。

request モジュールを使用してそれを行うには:

$("#photograph-record").on("click", function(){
    forge.file.getImage({source:"camera", width: 280, height: 280},function(file) {
        file.name = 'photo'; // the magic    
        forge.request.ajax({
            url: 'https://api.cloud.appcelerator.com/v1/photos/create.json',
            files: [file],
            success: function () { ... },
            error: function () { ... }
        });
    });
});

データを取得する HTML フォーム要素の ID を渡すことを期待しているため、ここで JS ライブラリを使用する方法がわかりませんが、カメラまたはギャラリーと直接対話しています...

于 2013-04-15T10:02:50.543 に答える