Utilisation fine uploader avec codeigniter 2
Quand je veux télécharger une image, une erreur survient : vous n'avez pas pas sélectionné de fichier à envoyer.
J'utilise fine uploader.on peut faire un glisser déposer ou télécharger comme d'hab en cliquant sur le bouton.
Je ne sais pas comment lui spécifier cette valeur.
Merci
html :
Code:
1 2 3 4 5 6 7 8
|
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); ?>
<?php $idSite= $this->uri->segment(3); ?>
<div id="fine-uploader-basic" class="btn btn-success">
<i class="icon-upload icon-white"></i> Télécharger ou glisser-deposer votre image
</div>
<div id="messages"></div> |
JS :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
var urlCMS = '/////////////////';
$fub = $('#fine-uploader-basic');
$messages = $('#messages');
var uploader = new qq.FineUploaderBasic({
button: $fub[0],
request: {
endpoint: '/cmsprod/upload/upload_img'
},
validation: {
allowedExtensions: ['jpeg', 'jpg', 'gif', 'png'],
sizeLimit: 204800 // 200 kB = 200 * 1024 bytes
},
callbacks: {
onSubmit: function(id, fileName) {
$messages.append('<div id="file-' + id + '" class="alert" style="margin: 20px 0 0"></div>');
},
onUpload: function(id, fileName) {
$('#file-' + id).addClass('alert-info')
.html('<img src="'+ urlCMS +'assets/img/loading.gif" alt="Initializing. Please hold."> ' +
'Initialisation ' +
'' + fileName + '');
},
onProgress: function(id, fileName, loaded, total) {
if (loaded < total) {
progress = Math.round(loaded / total * 100) + '% of ' + Math.round(total / 1024) + ' kB';
$('#file-' + id).removeClass('alert-info')
.html('<img src="'+ urlCMS +'assets/img/loading.gif" alt="In progress. Please hold."> ' +
'Téléchargement ' +
'' + fileName + ' ' +
progress);
} else {
$('#file-' + id).addClass('alert-info')
.html('<img src="'+ urlCMS +'assets/img/loading.gif" alt="Saving. Please hold."> ' +
'Saving ' +
'' + fileName + '');
}
},
onComplete: function(id, fileName, responseJSON) {
if (responseJSON.success) {
$('#file-' + id).removeClass('alert-info')
.addClass('alert-success')
.html('<i class="icon-ok"></i> ' +
'Le fichier a bien été téléchargé ' +
'' + fileName + '' +
'<br><img src="img/success.jpg" alt="' + fileName + '">');
} else {
$('#file-' + id).removeClass('alert-info')
.addClass('alert-error')
.html('<i class="icon-exclamation-sign"></i> ' +
'Erreur avec ' +
'' + fileName + ': ' +
responseJSON.error);
}
}
}
}); |
controller :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
public function upload_img() {
$idsite = $this->uri->segment(3);
$name = $_FILES['qqfile']['name'];
$name = strtr($name, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$name = preg_replace('/([^.a-z0-9]+)/i', '_', $name);
$config['upload_path'] = "./front/" . $idsite . "/images/";
$config['allowed_types'] = 'gif|jpg|png|JPG|GIF|PNG';
$config['max_size'] = '2048';
$config['max_width'] = '300';
$config['max_height'] = '300';
$config['file_name'] = $name;
$this->load->library('upload', $config);
if (!$this->do_upload()) {
$error = array('error' => $this->upload->display_errors('', ''));
echo json_encode(array($error));
echo json_encode(array('success'=>'false '));
}
else {
$data = array('upload_data' => $this->upload->data());
$this->site_model->load_logo();
$name = $data ['upload_data']['file_name'];
$config['upload_path'] = "./front/" . $idsite . "/thumbs/";
$config['image_library'] = 'gd2';
$config['source_image'] = "./front/" . $idsite . "/images/" . $name;
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 193;
$config['height'] = 94;
$this->load->library('image_lib', $config);
$this->image_lib->resize();
echo json_encode(array('success'=>'true '));
}
}
public function do_upload() {
if (!$this->upload->do_upload()) {
return false;
} else {
return true;
}
} |