Я пытаюсь интегрировать мой веб-сайт Codeigniter с uploadify. он прекрасно работает в Chrome и даже в IE, но при запуске веб-браузера в Mozilla firefox выдает ошибку HTTP 302. и иногда его шоу «IO Error», я читал этот пост: 302 и ошибка загрузки IO, но до сих пор не знаю, что я должен делать. может быть, более подробное / понятное руководство поможет.
это мой загружаемый конфиг:
$('#shopfile').uploadify({
'debug':false,
'auto':true,
'swf': '<?= base_url(); ?>file/lib/uploadify/uploadify.swf',
'uploader': '<?= base_url(); ?>my_shop/upload_shopheader',
'cancelImg': '<?= base_url(); ?>file/lib/uploadify/uploadify-cancel.png',
'fileTypeExts':'*.jpg;*.jpeg;*.png;',
'fileTypeDesc':'Image Files (.jpg,.jpeg,.png)',
'fileSizeLimit':'2MB',
'fileObjName':'shopfile',
'buttonText':'Select File',
'multi':false,
'removeCompleted':false,
'onUploadError' : function(file, errorCode, errorMsg, errorString) {
alert('The file ' + file.name + ' could not be uploaded: ' + errorString);
$( ".uploadMessageStr" ).html('<div class="alert alert-danger">The file ' + file.name + ' could not be uploaded: ' + errorString + '</div>');
},
'onUploadSuccess' : function(file, data, response){
//some statement..
}
});
и это мой код функции контроллера / загрузчика:
public function upload_shopheader(){
if (empty($_FILES['shopfile']['name'])) redirect('my_shop/profile');
$config = $this->avatarUploadConfig();
$this->upload->initialize($config);
$data = array();
if (!$this->upload->do_upload('shopfile')) {
//if upload failed...
$upload_error = $this->upload->display_errors();
$data['message'] = "<div class='alert alert-danger'>Upload Failed. ".$upload_error."</div>";
}
else {
//if upload success...
}
echo json_encode($data);
}
Спасибо, прежде чем.
Решено с добавлением идентификатора сессии вручную через uploadify.
добавив это, чтобы загрузить config в представлении:
'formData' : {'SESSION_ID' : '<?= $this->session->userdata('session_id'); ?>'},
и добавьте этот код в начало функции контроллера:
//check session..
$sess_id = $this->input->post('SESSION_ID');
if(!isset($sess_id)){
redirect('to_some/page');
}
else{
$this->session->set_userdata(array('session_id' => $sess_id));
}
Других решений пока нет …