Появился такой модуль: Plupload вообще очень многообещающий, но беда в том, что к нему вообще нет никакой документации. Может быть кто-то запускал его? Или совместными усилиями на удастся это сделать? В общем - нужна ваша помощь.
Отличительные особенности модуля: массовая загрузка не только через Flash, но и при помощи html5, Gears, Silverlight, BrowserPlus. Вообще я ищу альтернативу SwfUpload'еру - не нравиться он мне. Идеал - массовый загрузжчик фото с ресайзом на стороне клиента (см. Facebook). Мечта - чтобы все это была без участия Flash и Java.
Комментарии
Отличный загрузчик.
вот модуль есть даже для интеграции.
http://drupal.org/project/plupload
Правда еще dev версия. Но мы терпеливые, будем ждать ))
Я использовал саму библиотеку, не модуль, впечатления самые приятные.
Супер! Обожаю когда подключаются только библиотеки (я, например, fancybox так подключал). Поделитесь с сообществом, если не сложно, как именно Вам удалось это сделать.
Как Вам это удалось сделать? Расскажите нам пожалуйста.
поподробней можно? я сейчас сам хочу интегрировать на сайт.
буду чрезмерно благодарен.
Я использовал ее не в друпале, а GAE-приложении, написанном на Python.
Настраивается библиотека легко, по сути, ей требуется передать id дива и задать дополнительные параметры, думаю, вы можете посмотреть, как это делается в файлах примеров самой библиотеки.
Главное, это описать обработчик, принимающий файлы.
Т.к. билиотека делает обычный POST-запрос, то все файлы буду в $_FILES, и вам останется их обработать.
Всю инфу по работе с Plupload я брал отсюда:
http://blog.notdot.net/2010/04/Implementing-a-dropbox-service-with-the-B...
http://blog.notdot.net/2010/04/Implementing-a-dropbox-service-with-the-B...
Вот код оттуда:
<head>
<title>File Hangar: Upload file</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="/static/plupload/gears_init.js"></script>
<script type="text/javascript" src="/static/plupload/plupload.full.min.js"></script>
<script type="text/javascript">
$(function() {
var uploader = new plupload.Uploader({
runtimes: 'gears,html5,flash,html4',
browse_button: 'pickfiles',
container: 'container',
url: '{{form_url}}',
use_query_string: false,
multipart: true,
flash_swf_url: '/static/plupload/plupload.flash.swf',
});
uploader.bind('FilesAdded', function(up, files) {
$.each(files, function(i, file) {
$('#filelist').append(
'<div id="' + file.id + '">' +
'File: ' + file.name + ' (' + plupload.formatSize(file.size) + ') <b></b>' +
'</div>'
);
});
});
uploader.bind('UploadProgress', function(up, file) {
$('#' + file.id + ' b').html(file.percent + '%');
});
uploader.bind('FileUploaded', function(up, file, response) {
window.location = response.response;
});
uploader.bind('Error', function(up, err) {
alert("Upload error: " + err.message);
});
uploader.bind('QueueChanged', function(up) {
uploader.start();
});
uploader.init();
});
</script>
</head>
<body>
<p style="float: right"><a href="{{logout_url}}">Log Out</a></p>
<h1>Upload a file to App Engine File Hangar</h1>
<form>
<div id="container">
<div id="filelist"></div>
<a id="pickfiles" href="#">[Upload files]</a>
</div>
</form>
</body>
</html>
Вначале погружаются файлы библиотеки, указывается id дива, который будет замещен формой загрузки ('container'). runtimes Определяет, какой тип виджета использовать.
{{form_url}} в системе шаблонизации django означает action формы, т.е. урл, куда будут грузиться файлы.
Ну и добавляются прогресс бары и тд.
Вот тут возникает много вопросов
Да, проблема в том, что друпал не сохраняет переменные POST, а использует свою систему форм.
Поэтому вам нужен свой обработчик, который будет работать с $_POST и $_FIELS напрямую.
Для этого нужжен скрипт или модуль.
Как вклинить plupload в друпальские формы, я не знаю.
А вообще, зачем вам эта библиотека? В друпале же есть ahah-загрузка.
Две причины: Массовая загрузка (fupload (использует swfupload) - убог), ресайз картинок на стороне клиента.
Ну тогда остается писать свой модуль.
Сделайте обработчик меню, куда будут грузиться картинки.
В обработчике просматривайте $_FILES и сохраняйте file_save_upload и др. полезными функциями для работы с файлами: http://api.drupal.org/api/group/file/6
Да в том-то и дело, что вроде модуль уже пишеться, только он не доделан немного. Документации нет, а "из коробки" что-то он никак. Может быть потестируем вместе, всем сообществом?
да нет, как бы постом много чего ловится. тот же AHAH через POST ловить можно.
Вот сейчас этим и занимаюсь) хоть и есть модуль интегратор, но дев версиям не верю. лучше самому помучатся пару дней и сделать по своему. Да и практика нужна.
спасибо за пример, многое объяснило.
спасибо.
все не могу понять, как добавить прогресс бар(
В FF не работает у меня А в IE работает.. В чем проблема.. не могу понять..
Проблема скорее всего в настройках вашего браузера.
Люди а этот модуль поддерживает массовую загрузку с сервера? Если нет, какой поддерживает?