如何使用Valums Uploader和Codeigniter的参数?
答案 0 :(得分:5)
使用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'
});
如果您希望它了解您的app /
的状态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):
var description = $('#input_description').val(); //This can be an input
var id = $('#input_description').att('id');
var uploader = new qq.FileUploader({
element: document.getElementById('file-uploader'),
action: '/server-side.upload',
// additional data to send, name-value pairs
params: {
description: description,
id: id
}
});
注意我没有测试此代码及其用于演示目的。
答案 1 :(得分:2)
$ _ GET总是在1.7.3分支中销毁,但升级到新的CodeIgniter Reactor 2.0,你会发现GET字符串开箱即用。
upgraded时,请使用以下语法:
$this->input->get('value1');
答案 2 :(得分:1)
我不知道为什么没有在Valums页面上记录,但显然参数应该不是这样发送的
params: {
param1: 'value1',
param2: 'value2'}
但是像这样
data: {param1: 'value1',
param2: 'value2'}
在服务器端,您可以使用 $ _ REQUEST ['param1']获取它们;
答案 3 :(得分:1)
您必须使用PHP的输入流才能获取数据。
$fp = fopen('php://input', 'r');
然后使用fread()
通常使用常规文件读取数据。请参阅下载中位于server / php.php中的valum服务器端代码。
答案 4 :(得分:1)
我遇到的两个相关问题可能会帮助某人:
1)var 上传器会导致问题 - 请尝试使用 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'
});
)};