Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Веб-апи сервис для сохранения изображений и тегов к ним.

Возможности сервиса:

  • Получение списка изображений и их тегов;
  • Фильтрация изображений по тегам;
  • Скачивание/просмотр изображений;

    Для хранения информации используется реляционная СУБД PostgreSQL.

Загрузка файлов

Загрузка файлов осуществляется с помощью функции upload_images, которая принимает на вход имя тега подгружаемых файлов и сами файлы.

@app.post("/uploadimg/")
async def upload_image(img_tag: str, files: List[UploadFile]=File(...)):
	...

Пример:

curl -X 'POST' \
  'http://127.0.0.1:8000/uploadimg/?img_tag=cats' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -F 'files=@kitty_1.jpg;type=image/jpeg' \
  -F 'files=@kitty_2.jpg;type=image/jpeg'

Получение списка изображений

Функция show_img_list возвращает из базы список всех изображений и их тэгов. На вход принимает список изображений в виде строк. По умолчанию функция возвращает список всех изображений.

@app.get("/imglist/")
async def show_img_list(images: Optional[List[str]] = Query(None)):
	...

Пример:

curl -X 'GET' \
  'http://127.0.0.1:8000/imglist/?images=kitty_1.jpg&images=dog_2.jpg' \
  -H 'accept: application/json'

Фильтрация по тегам

Функция filter_by_tag на вход принимает список тегов в виде строк. Возвращает список всех изображений по заданному тегу.

@app.get("/tagfilter/")
async def show_img_by_tags(tags: Optional[List[str]] = Query(None)):
	...

Пример:

curl -X 'GET' \
  'http://127.0.0.1:8000/tagfilter/?tags=cats' \
  -H 'accept: application/json'

Просмотр изображения

Функция show_img позволяет осуществить просмотр изображения. На вход принимает имя файла в виде строки, который необходимо просмотреть.

@app.get("/downloadimage/")
def show_img(img_name: str):
	...

Пример:

curl -X 'GET' \
  'http://127.0.0.1:8000/showimg/?img_name=dog_2.jpg' \
  -H 'accept: application/json'

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

Функция download_file позволяет осуществить скачивание изображения. На вход принимает имя файла в виде строки, который необходимо скачать.

@app.get("/downloadimage/")
def download_file(img_name: str):
	...

Пример:

curl -X 'GET' \
  'http://127.0.0.1:8000/downloadimage/?img_name=kitty_1.jpg' \
  -H 'accept: application/json'

About

A small service for storing images

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages