[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Смена имени загружаемого файла
Игорь_Vasinsky
Вообщем подправил JS , для того чтобы после выбора файла, срабатывал PROMT() , в котором можно было бы сменить имя загружаемого файла

Свернутый текст
$(document).ready(function() { 

var id_sect = $("#id_sess").html();

$('#load').css('display', 'none');

$("#uploadify").uploadify({

'uploader' : '../../dxmods/uploadify/uploadify.swf',

'script' : '../../dxmods/uploadify/uploadify.php',

'checkscript' : '../../dxmods/uploadify/check.php',

'cancelImg' : '../../dxmods/uploadify/cancel.png',

'queueID' : 'fileQueue',

'auto' : false,

'multi' : false,

/*'fileExt' : '*.jpg',*/

'folder' : '/uploads/' + id_sect,

'buttonImg' : '../../dxmods/uploadify/takefile.png',

'width' : 250,

'height' : 40,

'onSelect' : function(event,ID,fileObj) {
$('#load').css('display', 'block');


var ext=fileObj['name'].split('.');


var nameFile = prompt('Укажите новое имя: ' + fileObj['name'], ext[0]);

return fileObj['name'] = nameFile + fileObj['type'];

},

'onComplete' : function(event,queueID,fileObj,response,data) {$('#response').append(response); $('#load').css('display', 'none'); location.reload();}

}
);


});


Всё работает, диалог открывается, показывается имя без расширения - которое предлагается заменить, вот:

Свернутый текст
     'onSelect'    : function(event,ID,fileObj) {
$('#load').css('display', 'block');


var ext=fileObj['name'].split('.');


var nameFile = prompt('Укажите новое имя: ' + fileObj['name'], ext[0]);

return fileObj['name'] = nameFile + fileObj['type'];

},


повесил на OnSelect - получается - открываешь файл и когда окно диалога ввыбора закрывается - срабатывает моя функция, в которой предлагается сменить имя

Всё ОК, в список загрузки попадает файл уже с новым "моим" именем, но в директорию грузится со старым именем.

Может я не правильно событие onSelect выбрал?



Спустя 12 минут, 20 секунд (22.11.2011 - 15:35) Игорь_Vasinsky написал(а):
добавил потом в код, после


    'onOpen'      : function(event,ID,fileObj) {
alert('The upload is beginning for ' + fileObj.name);
},


показывает старое имя файла

Спустя 1 час, 44 минуты, 59 секунд (22.11.2011 - 17:20) Игорь_Vasinsky написал(а):
горит пацаны, готииит

Спустя 3 минуты, 31 секунда (22.11.2011 - 17:23) sharki написал(а):
Игорь_Vasinsky
Этот плагин может отсылать вместе с файлом еще пост данные, т.е постом передаешь ему новое имя, в файле обработчике ты присваиваешь новое имя и всё.

Спустя 7 минут, 6 секунд (22.11.2011 - 17:30) Игорь_Vasinsky написал(а):
там я всё могу, но здесь другое, обработчик там цепляется на AJAX - а мне нужно живое взаимодействие с пользователем - через PROMT()

я просто видимо свойство объекту fileObj навязываю не верно

т.е.

return fileObj['name'] = nameFile + fileObj['type'];


но кто работал с uploadify - знаете же "Очередь файлов?" - вот там же с новым именем отображается, а далее снова старое встаёт

листинг

$(document).ready(function() { 

var id_sect = $("#id_sess").html();

$('#load').css('display', 'none');

$("#uploadify").uploadify({

'uploader' : '../../dxmods/uploadify/uploadify.swf',

'script' : '../../dxmods/uploadify/uploadify.php',

'checkscript' : '../../dxmods/uploadify/check.php',

'cancelImg' : '../../dxmods/uploadify/cancel.png',

'queueID' : 'fileQueue',

'auto' : false,

'multi' : false,

/*'fileExt' : '*.jpg',*/

'folder' : '/uploads/' + id_sect,

'buttonImg' : '../../dxmods/uploadify/takefile.png',

'width' : 250,

'height' : 40,

'progressData' :'percentage',


'onSelect' : function(event,ID,fileObj) {
$('#load').css('display', 'block');

var ext=fileObj['name'].split('.');
var nameFile = prompt('Укажите новое имя: ' + fileObj['name'], ext[0]);

/*СФОРМИРОВАЛ НОВОЕ ИМЯ*/
fileObj['name'] = nameFile + fileObj['type'];
/*В очереди файлов - отобразилось новое имя - всё гуд*/
},

//Перед загрузкой вешаю евент - здесь говорит что имя старое
'onOpen' : function(event,ID,fileObj) {
alert('The upload is beginning for ' + fileObj['name']);
},


'onComplete' : function(event,queueID,fileObj,response,data)
{
$('#response').append(response);
$('#load').css('display', 'none');
location.reload();
}

}
);


});


Т.е по факту свойство объекта fileObj - 'name' - не присвоилось, вот в чём делема

Спустя 33 минуты, 39 секунд (22.11.2011 - 18:04) Игорь_Vasinsky написал(а):
предатели dry.gif

Спустя 1 час, 29 минут, 15 секунд (22.11.2011 - 19:33) Игорь_Vasinsky написал(а):
Так.. хорошо, тогда я хочу передать в параметры то что ввёл юзер при PROMT()

     'onSelect'    : function(event,ID,fileObj) {
$('#load').css('display', 'block');

var ext=fileObj['name'].split('.');
/*Получил данные от пользователя*/
var nameFile = prompt('Укажите новое имя: ' + fileObj['name'], ext[0]);
},

/*Но здесь же её не видно будет*/
'scriptData' : {'newFileName': nameFile},


return не спасает, т.к. явного запуска функции нет, объявить без var - тоже не помогает.


Спустя 5 часов, 38 минут, 35 секунд (23.11.2011 - 01:12) zeromind написал(а):
а я забил на Uploadify, SWFUpload юзаю, там легко получить ответ от сервера - serverData.. так же ОЧЕНЬ легко отправить данные на сервер в JSON'e .. одной строчкой, например - post_params: {"login" : "Dimon"}, и данные уже в $_POST'e ))

так что юзай SWFUpload и отправляй с помощью post_params: данные) всё проще простого )

Спустя 1 минута, 33 секунды (23.11.2011 - 01:13) zeromind написал(а):
забыл, для Uploadify -
ScriptData – Объект в котором содержится пара — имя/значение. Тут можно послать дополнительные значения в серверный скрипт. Отсылать нужно в таком виде – {‘имя’: ‘значение’}

Спустя 1 минута, 32 секунды (23.11.2011 - 01:15) Игорь_Vasinsky написал(а):
тут тоже есть ScriptData {'name':'value'} wink.gif

уже не надо, сутки работы - коту под хвост, переделал дедовским спосабом, просто обработчик подвесил на аякс


мне до отправки сменить нужно было


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.