BlueMP jQuery-File-Upload с codeigniter загружать и переименовывать и изменять размер изображений

Я искал и пытался много и много дней, я использую

Blueimp jQuery-File-Upload

для загрузки нескольких файлов с codeigniter у меня есть вопросы о некоторых аспектах его использования:

  1. Как я могу переименовать загруженный файл с серийным как 15_1.jpg /
    15_2.jpg / 15_3.jpg
  2. Как использовать одну и ту же форму для отправки дважды
    загрузка и вторая отправка для вставки некоторых входов в базу данных.
  3. Как изменить размер изображения перед загрузкой

0

Решение

1) Для переименования
Вместо

move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $_FILES["file"]["name"]);

сделай это,

$temp = explode(".", $_FILES["file"]["name"]);
$newfilename = round(microtime(true)) . '.' . end($temp);
move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newfilename);

произведет случайное число на основе текущего времени и добавит расширение из первоначально загруженного файла.

2) для загрузки и вставки с использованием одной формы вам понадобятся две кнопки

$(function () {
$('#fileupload').fileupload({
dataType: 'json',
add: function (e, data) {
data.context = $('<button/>').text('Upload')
.appendTo(document.body)
.click(function () {
data.context = $('<p/>').text('Uploading...').replaceAll($(this));
data.submit();
});
},
done: function (e, data) {
data.context.text('Upload finished.');
}
});
});

аналогично для вставки создайте другую функцию и вызовите ее ..

3) Изменить размер изображения перед загрузкой? .. они дают вам
для изменения размера изображения на стороне клиента необходимо включить следующие сценарии:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
<script src="js/vendor/jquery.ui.widget.js"></script>
<!-- The Load Image plugin is included for the preview images and image resizing functionality -->
<script src="https://blueimp.github.io/JavaScript-Load-Image/js/load-image.all.min.js"></script>
<!-- The Canvas to Blob plugin is included for image resizing functionality -->
<script src="https://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script>
<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
<script src="js/jquery.iframe-transport.js"></script>
<!-- The basic File Upload plugin -->
<script src="js/jquery.fileupload.js"></script>
<!-- The File Upload processing plugin -->
<script src="js/jquery.fileupload-process.js"></script>
<!-- The File Upload image preview & resize plugin -->
<script src="js/jquery.fileupload-image.js"></script>

Затем все, что вам нужно сделать, это установить для параметра disableImageResize значение false.
По умолчанию размеры изображений изменяются до FullHD (1920×1080), но вы можете определить свои собственные параметры:

$('#fileupload').fileupload({
url: '//jquery-file-upload.appspot.com/',
dataType: 'json',
// 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 && navigator.userAgent),
imageMaxWidth: 800,
imageMaxHeight: 800,
imageCrop: true // Force cropped images
})
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]