Upload files in web, naked truth

Post on 09-Feb-2017

30 views 1 download

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Картинки

Немножко текстаИ всякие ссылочки