我正在尝试为我正在处理的项目使用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});
}
});
});
谢谢,
比尔
答案 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);
}
});