0

我正在尝试为我目前正在处理的项目使用 codeigniter 和 Blueimp Jquery File Upload 插件:Filtering images for display based on an authenticated user。我需要能够根据包含插件的页面上的 GET 变量来更改上传的路径。我希望它为每个用户连接到一个单独的文件夹。

为此,我相信我只需要再完成一个步骤:在 $_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,第二部分注释为 // Load existing files: There, add + '?ext=VAR1¬a=VAR2' behind $('#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,然后在它工作时调用一些回调方法。我要在这里添加的一个警告是,我只使用我自己设计的基本插件。

$("#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 回答