Upload files in web, naked truth

56
Голая правда про файлы Egor Malkevich Все права защищены 18+ 2016

Transcript of Upload files in web, naked truth

Page 1: Upload files in web, naked truth

Голая правда про файлы

Egor Malkevich

Все права защищены 18+2016

Page 2: Upload files in web, naked truth

Я несу ангуляр людям

Page 3: Upload files in web, naked truth

Что может быть проще?

Page 4: Upload files in web, naked truth

785 типов

Page 5: Upload files in web, naked truth

А теперь по порядку

Page 6: Upload files in web, naked truth

Сказ про API

Page 7: Upload files in web, naked truth

C давних пор

Page 8: Upload files in web, naked truth
Page 9: Upload files in web, naked truth
Page 10: Upload files in web, naked truth
Page 11: Upload files in web, naked truth
Page 12: Upload files in web, naked truth

Пара слов о progress bar

Page 13: Upload files in web, naked truth

А что насчет папок?

Page 14: Upload files in web, naked truth
Page 15: Upload files in web, naked truth

File API

Page 16: Upload files in web, naked truth

Постановка задачи

Page 17: Upload files in web, naked truth
Page 18: Upload files in web, naked truth

Прочувствуем проблему

Page 19: Upload files in web, naked truth

1. Банальный разрыв соединения

Page 20: Upload files in web, naked truth

2. Банально комп уснул

Page 21: Upload files in web, naked truth

3. Ограничение сети

Page 22: Upload files in web, naked truth

4. Приватность

Page 23: Upload files in web, naked truth

5. Размер

Page 24: Upload files in web, naked truth

6. Пользователь не хочет париться

Page 25: Upload files in web, naked truth

Пробуем решить в лоб

Page 26: Upload files in web, naked truth
Page 27: Upload files in web, naked truth

Just to note

Page 28: Upload files in web, naked truth

Как это работает

Page 29: Upload files in web, naked truth

Как только загружаем несколько файлов

Page 30: Upload files in web, naked truth
Page 31: Upload files in web, naked truth

А теперь к решению

Page 32: Upload files in web, naked truth

Самый UX продвинутый способ

Page 33: Upload files in web, naked truth

Жесткий диск в OS это папка

WebKitDirectory VS File API

Page 34: Upload files in web, naked truth

WebKitDirectory

Умеет грузить папки через window диалог

Почему то не работает с drag&drop

Грузит файлы как файлы не как entry

Page 35: Upload files in web, naked truth

File APIНЕ УМЕЕТ грузить папки

через window диалог

Отлично РАБОТАЕТ с drag&drop

Грузит файлы как как entry

Page 36: Upload files in web, naked truth

File API

Page 37: Upload files in web, naked truth

Шаг 1.File DTO Entry DTO

FolderDTO

Page 38: Upload files in web, naked truth

Шаг 2.Определяем стратегию сканирования

Page 39: Upload files in web, naked truth

Шаг 3.

Page 40: Upload files in web, naked truth

Как в этой логике проверять пользователя непонятно

Page 41: Upload files in web, naked truth

В js нельзя определить mime тип файла

Page 42: Upload files in web, naked truth

setTimeout

Page 43: Upload files in web, naked truth

JS умеет считывать 100 entries за такт

Page 44: Upload files in web, naked truth

Нету какого то способа ограничить скорость на

загрузку в браузере

Page 45: Upload files in web, naked truth

Более подробные примеры кода тут

https://gist.github.com/wegorich/1681b7ff17054ebf8873794ef4aec5ed

Page 46: Upload files in web, naked truth

Хороший пример загрузки директорий можно

посмотреть тут

Page 47: Upload files in web, naked truth

А теперь к UX

Грузимвидосы

Грузимкартинки

Грузимпесенки

Page 48: Upload files in web, naked truth

Один минус в идеальном случае надо

дропать файл

Page 49: Upload files in web, naked truth

Мы знаем что искать

Найдено 20 видосов, просканированно 100500 папок

Page 50: Upload files in web, naked truth

Следовательно знаем как отобразить

Найдено 42 альбома, просканированно 100500 папок

Альбом Криса брауна (8 песен)

Justin Timberlake (4 песни)

Кураж бамбей (1 песня)

Форсаж OST (45 песен)

Page 51: Upload files in web, naked truth

Итоговый результатНайдено 42 альбома, 1 загружен,просканированно 100500 папок

Альбом Криса брауна (8 песен)

Justin Timberlake (4 песни)

Кураж бамбей (1 песня)

Форсаж OST (45 песен)

34%

Justin Timberlake 34% (360 mb / 765 mb) 165 kb/s 5 min left

Page 52: Upload files in web, naked truth

Еще пару слов

Page 53: Upload files in web, naked truth

Для сервера советую

Page 54: Upload files in web, naked truth

Вообще для файлового сервера можно заюзать

Page 55: Upload files in web, naked truth

Как неплохую файлопомойку можно

заюзать

Page 56: Upload files in web, naked truth

В докладе принимали участие:

Egor MalkevichКартинки

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