Upload files in web, naked truth
-
Upload
yahor-malkevich -
Category
Internet
-
view
30 -
download
1
Transcript of Upload files in web, naked truth
Голая правда про файлы
Egor Malkevich
Все права защищены 18+2016
Я несу ангуляр людям
Что может быть проще?
785 типов
А теперь по порядку
Сказ про API
C давних пор
Пара слов о progress bar
А что насчет папок?
File API
Постановка задачи
Прочувствуем проблему
1. Банальный разрыв соединения
2. Банально комп уснул
3. Ограничение сети
4. Приватность
5. Размер
6. Пользователь не хочет париться
Пробуем решить в лоб
Just to note
Как это работает
Как только загружаем несколько файлов
А теперь к решению
Самый UX продвинутый способ
Жесткий диск в OS это папка
WebKitDirectory VS File API
WebKitDirectory
Умеет грузить папки через window диалог
Почему то не работает с drag&drop
Грузит файлы как файлы не как entry
File APIНЕ УМЕЕТ грузить папки
через window диалог
Отлично РАБОТАЕТ с drag&drop
Грузит файлы как как entry
File API
Шаг 1.File DTO Entry DTO
FolderDTO
Шаг 2.Определяем стратегию сканирования
Шаг 3.
Как в этой логике проверять пользователя непонятно
В js нельзя определить mime тип файла
setTimeout
JS умеет считывать 100 entries за такт
Нету какого то способа ограничить скорость на
загрузку в браузере
Более подробные примеры кода тут
https://gist.github.com/wegorich/1681b7ff17054ebf8873794ef4aec5ed
Хороший пример загрузки директорий можно
посмотреть тут
А теперь к UX
Грузимвидосы
Грузимкартинки
Грузимпесенки
Один минус в идеальном случае надо
дропать файл
Мы знаем что искать
Найдено 20 видосов, просканированно 100500 папок
Следовательно знаем как отобразить
Найдено 42 альбома, просканированно 100500 папок
Альбом Криса брауна (8 песен)
Justin Timberlake (4 песни)
Кураж бамбей (1 песня)
Форсаж OST (45 песен)
Итоговый результатНайдено 42 альбома, 1 загружен,просканированно 100500 папок
Альбом Криса брауна (8 песен)
Justin Timberlake (4 песни)
Кураж бамбей (1 песня)
Форсаж OST (45 песен)
34%
Justin Timberlake 34% (360 mb / 765 mb) 165 kb/s 5 min left
Еще пару слов
Для сервера советую
Вообще для файлового сервера можно заюзать
Как неплохую файлопомойку можно
заюзать
В докладе принимали участие:
Egor MalkevichКартинки
Немножко текстаИ всякие ссылочки