0

iPhoneでアプリを開発しています。私のパートナーは私にこのようなカールコマンドを送信します

curl -F "clothing_item[photo]=@dress1.jpg" -F "clothing_item[name]= pink_dress" http://www......com/shop_items.json?auth_token=abc_xyz_123

サーバーに画像をアップロードするために応答する関数を実装するように求められます。やってみます

forge.ajax({
    url: "http://www........com/shop_items.json",
    type: "POST",
    dataType: 'json',
    data: {
        "auth_token": token,
        "clothing_item[photo]": imageFile,
        "clothing_item[name]": id + "-" + d.getTime().toString()            
    },

    success: function(data) {

    },
    error: function(error) {

    }
});

imageFileを使用すると、カメラからのファイルになります。この投稿は成功しましたが、サーバーにアップロードされた画像はありません。

また、試してみてください:

forge.ajax({
    url: "http://www........com/shop_items.json",
    type: "POST",
    dataType: 'json',
    file:[imageFile];
    data: {
        "auth_token": token,
        "clothing_item[photo]": imageFile,
        "clothing_item[name]": id + "-" + d.getTime().toString()            
    },

    success: function(data) {

    },
    error: function(error) {

    }
});

しかし、それは機能しません。

アドバイスをいただければ幸いです

4

1 に答える 1

1

ここで問題が正確に何であるかを知ることは本当に難しいですが、デバッグに役立ついくつかのガイドがあります。

  • Charles Proxyを開き、iOSエミュレーターを実行します。clothin_item[写真]フィールドに何が投稿されているかを確認してください
  • Trigger.IO Catalystリモートデバッガーを使用して[ネットワーク]タブを確認し、同様のリクエストを手動で呼び出すこともできます
  • ajaxリクエストAPIを見ると、キーは実際には「ファイル」ではなく「ファイル」であるように見えます。私が正しく理解していれば、他のフィールド「clothing_item[photo]」に画像を投稿しないでください。また(私が正しく理解していれば)、バイナリファイルのフィールド名は「files」であり、カスタマイズすることはできません。
于 2012-09-12T16:03:14.777 に答える