0

開発中の ASP.NET/C# アプリケーションがあります。BlueImp File Uploaderを使用して、ASHX ハンドラにファイルをアップロードしようとしています。すべてが正常に機能しています。ASHX ハンドラーが行っているのは、イメージを SQL Server データベースに格納することです。

私の問題は、ハンドラーが実行されるときに ID を渡す必要があるため、画像を保存するレコードを認識していることです。現在、私のフォームはすべてクライアント側/ajax であるため、ポストバックはありません。できればそのままにしておきたい。

ハンドラーを呼び出すために使用しているコードは次のとおりです。

         $('#fileupload').fileupload({
            url: 'W9UploadHandler.ashx',
            dataType: 'json',
            done: function (e, data) {
                $.each(data.result.files, function (index, file) {
                    $('<p/>').text(file.name).appendTo('#files');
                });
            },
            progressall: function (e, data) {
                var progress = parseInt(data.loaded / data.total * 100, 10);
                $('#progress .bar').css(
                    'width',
                    progress + '%'
                );
            }
        });

現在、私の ID は非表示の div に保存されています。次のようにアクセスできます。

var id = $('#divHostApplicationId').text();

この ID を ASHX ハンドラに渡すにはどうすればよいですか? 「url」パラメータを使用してクエリ パラメータとして渡すことができることはわかっていますが、Blueimp では URL を動的に変更することはできないようです。一度設定すると、永遠に設定されているように見えます。何か案は?

4

1 に答える 1

0

formDataを使用できます:

$('#fileupload').bind('fileuploadsubmit', function (e, data) {
    // The example input, doesn't have to be part of the upload form:
    var input = $('#divHostApplicationId');
    data.formData = {example: input.val()};
    if (!data.formData.example) {
      input.focus();
      return false;
    }
});
于 2013-07-01T06:56:56.320 に答える