ValumsAjax上传与Codeigniter:获取参数!

ValumsAjax上传与Codeigniter:获取参数!,codeigniter,upload,Codeigniter,Upload,如何将参数与和Codeigniter一起使用?与Valums一起使用参数设置如下: var uploader = new qq.FileUploader({ element: document.getElementById('file-uploader'), action: '/server-side.upload', // additional data to send, name-value pairs params: { param1: 'v

如何将参数与和Codeigniter一起使用?

与Valums一起使用参数设置如下:

var uploader = new qq.FileUploader({
    element: document.getElementById('file-uploader'),
    action: '/server-side.upload',
    // additional data to send, name-value pairs
    params: {
        param1: 'value1',
        param2: 'value2'
    }
});
或使用

uploader.setParams({
   anotherParam: 'value' 
});
如果你想让它知道你的应用程序的状态/

subD="/Pic"
function selectGaleryName()
{
subD=subD+"/3"
alert(subD) // /Pic/3
}


var uploader = new qq.FileUploader({
element: document.getElementById('UploadFile'),
action: 'http://localhost/Farainform/manager/upload.php'
// additional data to send, name-value pairs

onComplete: function(id, fileName, responseJSON){ 

selectGaleryName();

uploader.setParams({
  subDirectory : subD
});

},


});
如果要设置图像的id和描述,可以在javascript中设置它们,然后发送它们。比如(我在这里使用jQuery):


注意:我还没有测试此代码及其演示用途。

我不知道为什么它没有记录在Valums页面上,但显然参数不应该像这样发送

params: {
        param1: 'value1',
        param2: 'value2'}
但是像这样

data: {param1: 'value1',
       param2: 'value2'}

在服务器端,您可以通过$\u请求['param1']获取它们

您必须使用PHP的输入流才能获取数据

$fp=fopen('php://input","r",


然后使用
fread()。请参阅下载中位于server/php.php中的valum服务器端代码。

$\u GET在1.7.3分支中始终被销毁,但升级到新版本后,您会发现GET字符串可以直接使用

如果需要,请使用以下语法:

$this->input->get('value1');

我遇到的两个相关问题可能会帮助某人解决:

1) varuploader导致问题-尝试使用类似于ajaxuploader的方法

2) 记录的setParams对于最新版本不正确-它应该是setData

最终结果应该是这样的:

var ajaxuploader = new AjaxUpload(button, {
        action: 'your-server-script.php', 
        name: 'myfile',
        onSubmit : function(file, ext){

            ajaxuploader.setData({
               somevar : 'somevalue',
               anothervar : 'anothervalue'
            });
)};

你有什么问题?你试过什么?什么都没试过因为我不知道从哪里开始。我需要传递的只是图像的id和描述。这是一个标准的上传函数,工作正常,但如果我还需要在图像中包含描述,我不确定如何让它工作。因此,在我的函数中,我不必像
函数uplodie($params)那样做
?我对php部分更感兴趣……我从自己的阅读中了解到了很多……所有html/php部分都是上传按钮下方的一个描述表单,php作为vallums下载的一部分提供,您只需添加类似$_GET['paramName']的内容即可;去拿你派来的那个情人它不起作用Kieran。。。你能再帮我一点忙吗?我试着使用
$\u GET['param\u name']
$this->input->post('param\u name')
但没有成功。菲尔!我刚刚读了你的一篇关于升级的博文。我正在运行1.7.3(我也是一个noob),我真的很害怕升级。真的很害怕。升级非常容易,但是如果你被推了,那么就使用1.7.3。问题是,没有真正好的方法来正确地启用GET支持。在您的控制器中解析\u str($\u SERVER['QUERY\u STRING',$\u GET),但它并不总是有效。@sver谢谢。这就是我需要的。
var ajaxuploader = new AjaxUpload(button, {
        action: 'your-server-script.php', 
        name: 'myfile',
        onSubmit : function(file, ext){

            ajaxuploader.setData({
               somevar : 'somevalue',
               anothervar : 'anothervalue'
            });
)};