Golang на основе GridFs: распределённый файловый сервис GMFS
Запуск MongoDB:
Команда для запуска MongoDB в Windows:
mongod.exe --dbpath "C:\Program Files\MongoDB\data"
Giraffe:
go run giraffe start
API
Ключ | Значение |
---|---|
code | Код ответа |
1000 | Нормальное сообщение |
1001 | Сообщение об ошибке |
1002 | Ошибка сохранения |
1003 | Ошибка чтения |
1004 | Превышение лимита размера (по умолчанию менее 80 Мбайт) |
1005 | Изображение содержит неприемлемое содержание |
1006 | Неподдерживаемый файл |
Ключ | Значение |
---|---|
message | Текст сообщения |
1 | Если код равен 1000, то message — это результат |
2 | В остальных случаях — описание ошибки |
| Ключ | Значение | | --- --- | --- --- | | rdm | Случайное число (используется для сброса изображения) |
Ключ | Значение |
---|---|
mime | Тип файла, например «image/jpeg», «application/pdf» и т. д. |
Ключ | Значение |
---|---|
suffix | Расширение загружаемого файла |
Демонстрация (demo)
Адрес: http://localhost:1323/demo.html
(1) POST-запрос для загрузки
Адрес: /upload.html
Параметры:
Демонстрационный адрес: http://localhost:1323/upload.html
.
Ответ JSON:
{
"code": "1000",
"message": "55c83f2a07986a0838000003",
"mime": "image/jpeg",
"rdm": "L5Ap4",
"suffix": ".jpg"
}
(2) GET-запрос для загрузки
Адрес: /proxy.html
Параметры:
Демонстрационный адрес: http://localhost:1323/proxy.html?uri=http://p5.qhimg.com/dmt/490_350_/t01d49b7191cbc97c11.jpg
.
Ответ JSON:
{
"code": "1000",
"message": "55c83f2a07986a0838000003",
"mime": "image/jpeg",
"rdm": "L5Ap4",
"suffix": ".jpg"
}
(3) Отображение (вывод потока байтов без изменений)
Адрес: dispaly/:id.html?watermark=true
Параметры:
Демонстрационный адрес: http://localhost:1323/dispaly/55c83f2a07986a0838000003.html
.
Обработка масштабирования изображения
Равномерное уменьшение до 100 пикселей:
http://localhost:1323/dispaly/55c83f2a07986a0838000003_100.html
.
Уменьшение до 100x100 пикселей:
http://localhost:1323/dispaly/55c83f2a07986a0838000003_100x100.html
.
Примечание: ограничение по ширине и высоте составляет более 50 пикселей, ширина и высота не должны превышать удвоенное фактическое количество пикселей.
(4) Загрузка файла
Адрес: /download/:id.html?name=xx
Параметры:
Демонстрационный адрес: http://localhost:1323/download/55c83f2a07986a0838000003.html
.
Другой демонстрационный адрес: http://localhost:1323/download/55c83f2a07986a0838000003.html?name=20150806
.
(5) Поиск файла (поиск по md5 и размеру)
Адрес: /search/:md5/:size.html
Параметры:
Демонстрационный адрес: http://localhost:1323/search/3fbef3c587cf53c88b282b614cad105f/34562.html
.
Ответ JSON:
{
"code": "1000",
"message": "55c83f2a07986a0838000003",
"mime": "image/jpeg",
"rdm": "L5Ap4",
"suffix": ".jpg"
}
(6) Онлайн-обработка (обновление файлов)
Адрес: /online/:id/:rdm.html
Параметры:
Демонстрационный адрес: http://localhost:1323/online/55c83f2a07986a0838000003/L5Ap4.html
.
Ответ JSON:
{
"code": "1001",
"message": true
}
Будущее
Мы приветствуем любые предложения по улучшению GMFS и готовы помочь в его совершенствовании.
Открытое спонсорство (Alipay)
»)
Авторские права
Apache License, Version 2.0
Следуйте за мной

Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )