]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
Простейший загрузчик файлов из HTML формы
authorSergey Matveev <stargrave@stargrave.org>
Mon, 8 Jan 2018 18:29:37 +0000 (21:29 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 8 Jan 2018 18:29:37 +0000 (21:29 +0300)
https://git.stargrave.org/cgit.cgi/uploader.git/
С появлением смартфонов у родителей, иногда нужно от них передать
какие-нибудь файлы с их устройств. Все эти устройства крайне сильно
заточены только чтобы работать с Сетью, облаками, Интернетом, чтобы
любое действие обязательно сливалось наружу. К сожалению, никаких
общих протоколов по которым закачать бы файл -- нет. Пока решил что
простой HTML формы было бы достаточно чтобы ко мне залить файл, а
дальше я уж сам с ним. От меня никаких проблем -- по HTTP броузер
там осилит.

python -m SimpleHTTPServer я всегда использовал чтобы быстро поднять
HTTP сервер для отдачи файлов. Но вот закачивать он не позволит. На
голом Python HTTP сервер вменяемый не напишешь. А тащить зависимости
чтобы его поднять на шлюзе не охота -- тяжёлое оно всё.

Само собой для этой задачи должен подходить Go. Собственно на нём и
написал простого демона принимающего файл загруженный через HTML форму.
Ограничение только на количество одновременных соединений (на всякий
пожарный). Сохраняет в файл с именем равным текущему времени. При этом
высчитывает BLAKE2s хэш и при успешной загрузке, напишет количество
переданных байт и этот хэш.


No differences found