Bonjour,
je dois mettre en place un système d'upload d'image pour alimenter une galerie photos.
Donc j'utilise jquery file upload qui me semble pas trop mal.
J'ai décidé d'installer la version basic +.
lorsque j'adapte le code, j'ai 1 erreur et 1 interrogation.
l'erreur =
la page où se trouve le code:
pour l'interrogation, que dois-je mettre en url sur cette ligne ?
a noter que j'ai remplacé la fin qui était server/php mais est ce qu'il faut tous changer ou juste l'emplacement que j'ai déjà remplacer ???
Modifié par cid5420 (24 Dec 2014 - 10:06)
je dois mettre en place un système d'upload d'image pour alimenter une galerie photos.
Donc j'utilise jquery file upload qui me semble pas trop mal.
J'ai décidé d'installer la version basic +.
lorsque j'adapte le code, j'ai 1 erreur et 1 interrogation.
l'erreur =
Uncaught TypeError: Cannot read property 'files' of null
ligne 128$.each(data.result.files, function (index, file) {...}
la page où se trouve le code:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ajouter des photos</title>
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>/css/admin.css">
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>/css/jquery.fileupload.css">
</head>
<body>
<div class="row">
<!--NAVIGATION-->
</div>
<div class="container">
<h1>Ajouter des photos !</h1>
<span class="btn btn-success fileinput-button">
<i class="glyphicon glyphicon-plus"></i>
<span>Ajouter...</span>
<!-- The file input field used as target for the file upload widget -->
<input id="fileupload" type="file" name="files[]" multiple>
</span>
<!-- The global progress bar -->
<div id="progress" class="progress">
<div class="progress-bar progress-bar-success"></div>
</div>
<div id="files" class="files"></div>
</div>
<script type="text/javascript" src="<?php echo base_url();?>/js/jquery.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>/js/jquery-ui.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>/js/bootstrap.min.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>/js/supersized.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>/js/jquery.ui.widget.js"></script>
<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
<script src="//blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script>
<script src="<?php echo base_url();?>/js/jquery.iframe-transport.js"></script>
<!-- The basic File Upload plugin -->
<script src="<?php echo base_url();?>/js/jquery.fileupload.js"></script>
<!-- The File Upload processing plugin -->
<script src="<?php echo base_url();?>/js/jquery.fileupload-process.js"></script>
<!-- The File Upload image preview & resize plugin -->
<script src="<?php echo base_url();?>/js/load-image.all.min.js"></script>
<script src="<?php echo base_url();?>/js/jquery.fileupload-image.js"></script>
<!-- The File Upload audio preview plugin -->
<script src="<?php echo base_url();?>/js/jquery.fileupload-audio.js"></script>
<!-- The File Upload video preview plugin -->
<script src="<?php echo base_url();?>/js/jquery.fileupload-video.js"></script>
<!-- The File Upload validation plugin -->
<script src="<?php echo base_url();?>/js/jquery.fileupload-validate.js"></script>
<script type="text/javascript">
/*jslint unparam: true, regexp: true */
/*global window, $ */
$(function () {
'use strict';
// Change this to the location of your server-side upload handler:
var url = window.location.hostname === 'blueimp.github.io' ?
'//jquery-file-upload.appspot.com/' : '<?php echo base_url();?>bibliotheque',
uploadButton = $('<button/>')
.addClass('btn btn-primary')
.prop('disabled', true)
.text('Progression...')
.on('click', function () {
var $this = $(this),
data = $this.data();
$this
.off('click')
.text('Arrêt')
.on('click', function () {
$this.remove();
data.abort();
});
data.submit().always(function () {
$this.remove();
});
});
$('#fileupload').fileupload({
url: url,
dataType: 'json',
autoUpload: false,
acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
maxFileSize: 5000000, // 5 MB
// Enable image resizing, except for Android and Opera,
// which actually support image resizing, but fail to
// send Blob objects via XHR requests:
disableImageResize: /Android(?!.*Chrome)|Opera/
.test(window.navigator.userAgent),
previewMaxWidth: 100,
previewMaxHeight: 100,
previewCrop: true
}).on('fileuploadadd', function (e, data) {
data.context = $('<div/>').appendTo('#files');
$.each(data.files, function (index, file) {
var node = $('<p/>')
.append($('<span/>').text(file.name));
if (!index) {
node
.append('<br>')
.append(uploadButton.clone(true).data(data));
}
node.appendTo(data.context);
});
}).on('fileuploadprocessalways', function (e, data) {
var index = data.index,
file = data.files[index],
node = $(data.context.children()[index]);
if (file.preview) {
node
.prepend('<br>')
.prepend(file.preview);
}
if (file.error) {
node
.append('<br>')
.append($('<span class="text-danger"/>').text(file.error));
}
if (index + 1 === data.files.length) {
data.context.find('button')
.text('Charger')
.prop('disabled', !!data.files.error);
}
}).on('fileuploadprogressall', function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
}).on('fileuploaddone', function (e, data) {
$.each(data.result.files, function (index, file) {
if (file.url) {
var link = $('<a>')
.attr('target', '_blank')
.prop('href', file.url);
$(data.context.children()[index])
.wrap(link);
} else if (file.error) {
var error = $('<span class="text-danger"/>').text(file.error);
$(data.context.children()[index])
.append('<br>')
.append(error);
}
});
}).on('fileuploadfail', function (e, data) {
$.each(data.files, function (index) {
var error = $('<span class="text-danger"/>').text('Le chargement à échoué !.');
$(data.context.children()[index])
.append('<br>')
.append(error);
});
}).prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled');
});
</script>
</body>
</html>
pour l'interrogation, que dois-je mettre en url sur cette ligne ?
var url = window.location.hostname === 'blueimp.github.io' ?
'//jquery-file-upload.appspot.com/' : '<?php echo base_url();?>bibliotheque',
a noter que j'ai remplacé la fin qui était server/php mais est ce qu'il faut tous changer ou juste l'emplacement que j'ai déjà remplacer ???
Modifié par cid5420 (24 Dec 2014 - 10:06)