CodeIgniter Uploadify不上传文件
问题描述:
我没有收到任何错误,没有任何内容,但图像没有被上传,就像控制器根本没有被调用,当我添加了contruct函数log_message我没有看到任何东西日志文件,不知道有什么问题。顺便说一句,我使用这个库(http://jeromejaglale.com/doc/php/codeigniter_i18n)来管理的语言,所以我必须在URL http://getit.mysite/enCodeIgniter Uploadify不上传文件
这里是我的控制器功能
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class FileUpload extends CI_Controller {
public $view_data = array();
private $upload_config;
function __construct() {
parent::__construct();
}
public function do_upload() {
$this->load->library('upload');
$image_upload_folder = base_url() . 'uploads/';
if (!file_exists($image_upload_folder)) {
mkdir($image_upload_folder, DIR_WRITE_MODE, true);
}
$this->upload_config = array(
'upload_path' => $image_upload_folder,
'allowed_types' => 'png|jpg|jpeg|bmp|tiff',
'max_size' => 2048,
'remove_space' => TRUE,
'encrypt_name' => TRUE,
);
$this->upload->initialize($this->upload_config);
if (!$this->upload->do_upload()) {
$upload_error = $this->upload->display_errors();
echo json_encode($upload_error);
} else {
$file_info = $this->upload->data();
echo json_encode($file_info);
}
}
}
?>
和js
jQuery(document).ready(function($) {
var base_url = 'http://getit.mycom/';
$('#upload-file').click(function(e) {
e.preventDefault();
$('#userfile').uploadify('upload', '*');
});
$('#userfile').uploadify({
'auto': false,
'swf': base_url + 'js/uploadify/uploadify.swf',
'cancelImg': base_url + 'js/uploadify/uploadify-cancel.png',
'uploader': base_url + 'fileupload/do_upload',
'fileTypeExts': '*.jpg;*.bmp;*.png;*.tif',
'fileTypeDesc': 'Image Files (.jpg,.bmp,.png,.tif)',
'fileSizeLimit': '8MB',
'fileObjName': 'userfile',
'buttonText': 'Select Photo(s)',
'multi': true,
'removeCompleted': false
});
});
和查看文件(添加用户):
<?php echo form_open_multipart(); ?>
<ul class="unstyled">
<li>
<?php echo form_upload('userfile', '', 'id="userfile"'); ?>
<?php echo (isset($error)) ? $error : ''; ?>
</li>
<li>
<?php echo form_button(array('content' => 'Upload', 'id' => 'upload-file', 'class' => 'btn btn-large btn-primary')); ?>
</li>
</ul>
<?php echo form_close(); ?>
答
在控制器代码中,更改if (!$this->upload->do_upload())
至if (!$this->upload->do_upload('Filedata'))
。你试一试。
检查您的Javascript控制台是否有错误。我敢打赌,你正在从控制器获得404。 – 2013-04-09 21:00:36
@Cryode我仔细检查过,在我提交问题之前,我没有在控制台中找到任何东西,网络显示我302,这是发现,但在响应中,我什么也没有得到。 – user147 2013-04-09 21:04:32
您在代码中定义了两次'uploadify()' - 是因为这个原因吗? Uploadify的网站已关闭,我从未使用过它,所以帮助会很困难。 – 2013-04-09 21:28:30