如何在Blueimp jquery文件上传器中发送I会话数据?

时间:2012-08-17 00:04:45

标签: javascript jquery codeigniter blueimp

我正在尝试为我正在处理的项目使用codeigniter和Blueimp Jquery文件上传插件:根据经过身份验证的用户过滤要显示的图像。我需要能够根据包含插件的页面上的GET变量来更改上传的路径。我希望它连接到每个用户的单独文件夹。

要做到这一点,我相信我只需再完成一个步骤:制作codeigniter会话ID,我在一个隐藏字段中,在$ _request,$ _POST或$ _GET数组设置。

从谷歌搜索它似乎Jquery File Upload plugin: Dynamically change upload path?正是我想要做的。

唯一的问题是没有解释最后一步!我是JS,Jquery和ajax的新手。有人可以解释如何使用jquery在php脚本中提供会话ID。

作为暗示,blueimp作者在https://github.com/blueimp/jQuery-File-Upload/issues/241

中写下了以下内容
  

看看example / application.js,第二部分进行了评论   //加载现有文件:   在那里,添加   +'?ext = VAR1& nota = VAR2'   背后   $('#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});
            }
        });
    });

谢谢,

比尔

1 个答案:

答案 0 :(得分: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);
        }
    });