kindeditor上传控件提交自定义信息(flash上传控件cookie验证)
后台使用kindeditor编辑时,必须要注意就是权限的问题。
因为kindeditor使用的flash上传控件,flash就不支持cookie的传递,那只能在提交时手动添加。
以下是kindeditor编辑使用方法:
单个文件组件:
<script> KindEditor.ready(function(K) { var uploadbutton = K.uploadbutton({ button : K('#uploadButton')[0], fieldName : 'imgFile', extraParams : {'cookie':'xxxx'}, url : '../php/upload_json.php?dir=file', afterUpload : function(data) { if (data.error === 0) { var url = K.formatUrl(data.url, 'absolute'); K('#url').val(url); } else { alert(data.message); } }, afterError : function(str) { alert('自定义错误信息: ' + str); } }); uploadbutton.fileBox.change(function(e) { uploadbutton.submit(); }); }); </script>
注意看到这参数:
extraParams : {'cookie':'xxxx'}
把一个cookie值传递过去,在后台代码使用
$_POST['cookie']就可以获取到此值,之后再对该值进行验证。
批量上传弹出框(上传组件)
<script> KindEditor.ready(function(K) { var editor = K.editor({ allowFileManager : true, extraFileUploadParams : {'cookie':'xx'} }); K('#J_selectImage').click(function() { editor.loadPlugin('multiimage', function() { editor.plugin.multiImageDialog({ clickFn : function(urlList) { var div = K('#J_imageView'); div.html(''); K.each(urlList, function(i, data) { div.append('<img src="' + data.url + '">'); }); editor.hideDialog(); } }); }); }); }); </script>
留意到这参数:
extraFileUploadParams : {'cookie':'xx'}
和单个组件的名字是不一样的,有很多人可能都会搞错,连我自己都一样。
后台做法和上面一样的。
好了,问题解决了。
浙公网安备 33010602011771号