0

現在取り組んでいるプロジェクトに codeigniter と Blueimp Jquery File Upload プラグインを使用しようとしています:認証されたユーザーに基づいて表示する画像をフィルタリングします。プラグインを含むページの GET 変数に基づいて、アップロードのパスを変更できる必要があります。ユーザーごとに別のフォルダに接続したい。

これを行うには、もう 1 つの手順を実行する必要があると思います: $_request、$_POST、または $_GET 配列の場合にサーバー側スクリプトで使用できるフォームの非表示フィールドにある codeigniter セッション ID を作成します。設定されていません

グーグルで調べてみると、Jquery File Upload plugin: Dynamically change upload path? まさに私がやろうとしていることです。

唯一の問題は、最後のステップが説明されていないことです! 私は JS、Jquery、ajax の初心者です。jquery を使用してセッション ID を PHP スクリプトで使用できるようにする方法を誰かが説明してくれませんか。

ヒントとして、blueimp の作成者はhttps://github.com/blueimp/jQuery-File-Upload/issues/241に次のように書いています。

example/application.js を見てください。2 番目のセクションは // Load existing files: there, add + '?ext=VAR1¬a=VAR2' after $('#file_upload').fileUploadUIX('option', ' url') を入力し、VAR1 と VAR2 を目的のパス変数に調整します。

現在の main.js ファイルのコードは次のとおりです。

$('#fileupload').each(function () {
        var that = this;
        $.getJSON(this.action, function (result) {
            if (result && result.length) {
                $(that).fileupload('option', 'done')
                    .call(that, null, {result: result});
            }
        });
    });

ありがとう、

明細書

4

1 に答える 1

1

これは、blueimpアップロードを実行するために使用し、本番サイトで実行しているコードのチャンクです。ご覧のとおり、セッションデータを追加する必要はまったくありません。アップロード先のURLを指定してから、動作中に呼び出されるコールバックメソッドをいくつか指定します。ここで追加する1つの注意点は、自分でスタイリングしている基本的なプラグインのみを使用していることです。

$("#file").fileupload({
        dataType: 'json',
        url: "/Upload/Photo"
        start: function () {
            progress.show();
        },
        progress: function (e, data) {
            progress.progressbar({ value: (data.loaded / data.total) * 100 });
        },
        done: function (e, data) {
            progress.hide();
        },
        fail: function (e, data) {
            progress.hide();
            var message = "An error was encountered!";

            // Use the simplemodal plugin to show my error
            modal.showError(message);
        }
    });
于 2012-08-18T12:10:33.080 に答える