ValumsAjax上传与Codeigniter:获取参数!
如何将参数与和Codeigniter一起使用?与Valums一起使用参数设置如下: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
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'
});
)};