/**
* 上传图片
* @author huajie <banhuajie@163.com>
*/
public function uploadPicture(){
//TODO: 用户登录检测
echo "string";
/* 返回标准数据 */
$return = array('status' => 1, 'info' => '上传成功', 'data' => '');
/* 调用文件上传组件上传文件 */
$Picture = D('Picture');
$pic_driver = C('PICTURE_UPLOAD_DRIVER');
$info = $Picture->upload(
$_FILES,
C('PICTURE_UPLOAD'),
C('PICTURE_UPLOAD_DRIVER'),
C("UPLOAD_{$pic_driver}_CONFIG")
); //TODO:上传到远程服务器
/* 记录图片信息 */
if($info){
$return['status'] = 1;
echo "string";
$return = array_merge($info['download'], $return);
} else {
$return['status'] = 0;
$return['info'] = $Picture->getError();
}
/* 返回JSON数据 */
$this->ajaxReturn($return);
}
第二步 修改模板文件,引入Js<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
第三步:修改模板文件,在你需要上传的地方加上以下代码,代码中的cover_id是你的字段<div class="controls">
<div class="controls">
<input type="file" id="upload_picture_cover_id">
<input type="hidden" name="cover_id" id="cover_id_cover_id"/>
<div class="upload-img-box">
</div>
</div>
<script type="text/javascript">
//上传图片
/* 初始化上传插件 */
$("#upload_picture_cover_id").uploadify({
"height" : 30,
"swf" : "__STATIC__/uploadify/uploadify.swf",
"fileObjName" : "download",
"buttonText" : "上传图片",
"uploader" : "{:U('File/uploadPicture',array('session_id'=>session_id()))}",
"width" : 120,
'removeTimeout' : 1,
'fileTypeExts' : '*.jpg; *.png; *.gif;',
"onUploadSuccess" : uploadPicturecover_id,
'onFallback' : function() {
alert('未检测到兼容版本的Flash.');
}
});
function uploadPicturecover_id(file, data){
var data = $.parseJSON(data);
var src = '';
if(data.status){
$("#cover_id_cover_id").val(data.id);
src = data.url || '__ROOT__' + data.path
$("#cover_id_cover_id").parent().find('.upload-img-box').html(
'<div class="upload-pre-item"><img src="__ROOT__' + src + '"/></div>'
);
} else {
updateAlert(data.info);
setTimeout(function(){
$('#top-alert').find('button').click();
$(that).removeClass('disabled').prop('disabled',false);
},1500);
}
}
</script>
</div>
按理论上应该没错的,但是出现HTTP 404,不知道哪里出问题了,求大神解答 最佳答案
