2

jQuery File Upload プラグインを使用してファイルを S3 にアップロードしていますが、何らかの理由で、S3 は常に複数のファイルを送信していると考えていますが、そうではありません。

$('#fileupload').fileupload({
    dataType: 'json',
    limitConcurrentUploads: 1,
    singleFileUploads: true,
    replaceFileInput: false,
    limitMultiFileUploads: 1,
    sequentialUploads: true,
    add: function(e, uploadData) {

        var file = {};
        file.id = 'randomstring';
        file.name = uploadData.files[0].name;
        $.ajax({
            type: 'post',
            url: /sign_files_path/,
            dataType: 'json',
            data: {'upload_filename': file.name, 'file_uploader_id': file.id },
            success: function(result, text) {
                if (result && result.amazon_request && result.post_url) {

                    uploadData.formData = result.amazon_request;
                    uploadData.url = result.post_url;
                    console.log(uploadData.files.length) // This always shows 1
                    console.log(uploadData)
                    uploadData.submit();
                }
            },
            error: function(xhr, status) {
            }
        });
    },
    progress: function(e, data) {
        // console.log(data)
    }
});

ファイルの送信先に関する特定の詳細を S3 から取得しましたが、送信を呼び出しても機能しません。考えられるすべての構成オプションを設定し、ドキュメントを 5 回読み直しましたが、アップロードしようとするたびに、S3 から 400 応答が返されます。

私が見逃している可能性のあるアイデアはありますか?

4

1 に答える 1

1

最後にそれを理解しました。で動作していたので、2 つの要求Flash uploaderを比較する必要があり、解決策は 2 つでした。POST

  1. ファイル入力フィールドの名前を「file」に変更する必要がありました
  2. S3 ポリシーで定義された 2 つの POST 変数を追加します。
于 2012-11-07T20:52:15.560 に答える