1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/suzong-SixImageServer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Six Image Server

Введение

Six Image Server — это простой в использовании сервер изображений, который на данный момент поддерживает формат JPEG.

Файл конфигурации

{
	"ListenAddr":"127.0.0.1:10086",               //адрес для прослушивания
	"Storage":"/var/www/html/image/storage/"      //место хранения
}

Использование

Загрузка изображения

POST / Параметры формы: uploadfile: файл типа file, изображение для загрузки Возвращаемое значение: ID изображения Пример: 127.0.0.1:10086 В теле запроса form-data параметр uploadfile: ваше изображение

Скачивание изображения

GET /ID изображения Возвращаемое значение: файл изображения Пример: 127.0.0.1:10086/AF6BC0D69A00BACE

Размышления

1. Известно, что в Linux не рекомендуется хранить большое количество файлов в одной папке, так как это может привести к быстрому расходу системных iNode блоков и снижению скорости чтения и записи файлов.
2. Мы разработали решение, которое позволяет распределять файлы по разным папкам случайным образом. Учитывая, что наличие 1000 файлов в папке может негативно сказаться на производительности, мы решили присваивать файлам идентификаторы (fileid), чтобы разделить их на группы. Это позволит избежать проблем с производительностью.
3. Чтобы повысить надёжность сервера, мы решили использовать uint64 в качестве идентификаторов файлов. Это даёт нам больший диапазон значений и снижает вероятность конфликтов при создании новых fileid.
4. Golang имеет встроенную поддержку высокой параллельности в своём http модуле. Пакет http в Golang предоставляет хорошую обёртку для реализации функции скачивания файлов с сервера, включая автоматическую обработку таких параметров, как content-type.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Сервер изображений, поддерживает загрузку и скачивание картинок. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/suzong-SixImageServer.git
git@api.gitlife.ru:oschina-mirror/suzong-SixImageServer.git
oschina-mirror
suzong-SixImageServer
suzong-SixImageServer
master