Всем привет.
Второй день пытаюсь найти ответы на некоторые вопросы, уже вроде все перерыл - но не могу найти. Есть код, drag n drop. При событии ondrop мне нужно сделать точную копию и поместить ее в локальное хранилище (надеюсь, правильно назвал)
1. как определить, что именно дропнул юзер - файл или директорию?
dropzone.ondrop = function(e) {
e.stopPropagation();
e.preventDefault();
var files = e.dataTransfer.files;
}
нашел на хабре хак, основанный на утверждении
однако, в хроме он не работает, поскольку вызывается событие onload
2. как создать копию директории вместе с ее содержимым рекурсивно?
fs.root.getDirectory(dir.name, {create: true, exclusive: true}, function(dirEntry) {
}, errorHandler);
при простом копировании создается пустая директория
Спустя 1 час, 44 минуты, 2 секунды (20.02.2012 - 12:34) Oyeme написал(а):
console.log( e.dataTransfer.files)
- внутри объекта - есть такое свойство как
"type".По нему Вы сможите определить тип файла. ;) (Некоторые делают регулярками(Кто как))
Поподробней расскажите с копированием файлов.Что именно вы хотите сделать. Многие браузеры не поддерживают drop рекурсию. <_<
Очень полезная книга для Вас будет.
http://books.google.com/books?id=aDgY8WKYO...0folder&f=false Спустя 3 минуты, 11 секунд (20.02.2012 - 12:38) Invis1ble написал(а):
Цитата |
console.log( e.dataTransfer.files) внутри обекта есть такое свойство как "type".По нему Вы сможите определить тип файла. |
type у директорий и файлов, тип которых браузер не в состоянии определить, имеет значение пустой строки. Да и тип мне определять не нужно, а нужно определить является ли объект директорией, либо файлом, для того чтобы знать, какой метод объекта, который находится в fs.root, вызывать для создания копии - getDirectory или getFile
Цитата |
http://books.google.lv/books?id=aDgY8WKYO2...0folder&f=false |
там речь идет о копировании внутри "файловой системы", а мне нужно сделать копию дропнутого "объекта" и создать ее в "файловой системе"
за ссылку спасибо
Спустя 6 минут, 11 секунд (20.02.2012 - 12:44) Invis1ble написал(а):
К примеру, юзер перетаскивает такую директорию
dir
subdir
file1.ext
file1.ext
file2.ext
так вот, мне нужно создать точную копию в локальном хранилище (песочнице)
ПС. О кроссбраузерности естественно речи не идет, работаем с хромом.
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль