Загружает файл в хранилище.
JSON-part metadata определяет назначение файла и связанные ограничения по типу, размеру и crop.
Ограничения входных данных:
- файл обязателен и не может быть пустым
- исходное имя файла должно быть непустым и не длиннее 255 символов
- размер файла должен быть больше 0
- для файлов с
content-type, начинающимся наimage/, максимальный размер составляет20 MB - для остальных файлов максимальный размер составляет
100 MB - для
AVATARразрешены толькоimage/png,image/jpeg,image/jpg,image/webp - для
CARDразрешены толькоimage/png,image/jpeg,image/jpg,image/webp - для
BLOGразрешены толькоimage/png,image/jpeg,image/jpg,image/webp - для
CATEGORYразрешены толькоimage/png,image/jpeg,image/jpg,image/webp - для
AVATARисходное изображение должно быть не меньше300x300;cropобязателен, должен быть квадратным и не меньше300x300 - для
CARDширина и высота должны быть не меньше900, а соотношение сторон не больше3:1; квадратность не требуется,cropпередавать нельзя - для
BLOGширина и высота должны быть не меньше900, а соотношение сторон не больше3:1; квадратность не требуется,cropпередавать нельзя - для
CATEGORYизображение должно быть квадратным и не меньше300x300;cropпередавать нельзя - для
MESSAGEиVOICEcropпередавать нельзя - изображения
CARDпосле загрузки стандартизируются вimage/webpс короткой стороной900, без увеличения - изображения
BLOGпосле загрузки стандартизируются вimage/webpс короткой стороной900, без увеличения - изображения
CATEGORYпосле загрузки стандартизируются вimage/webpи вписываются в300x300 - preview создаётся только для purpose, где на backend явно задан размер preview
- сейчас preview создаётся для
AVATARвimage/webp, вписанный в150x150 - сейчас preview создаётся для
CARDвimage/webpс короткой стороной200 - сейчас preview создаётся для
MESSAGEimage-файлов вimage/webp, вписанный в900x900 - сейчас preview создаётся для
BLOGвimage/webpс короткой стороной333
CARD используется для карточек мастера, сервиса и салона. BLOG используется для изображений постов. CATEGORY используется для изображений категорий.
Security
bearerAuth or jwtCookie
Бинарный файл. Имя файла должно быть непустым и не длиннее 255 символов, размер - больше 0 и не более 100 MB.
- https://felmee.comhttps://felmee.com/api/file/upload
- http://localhost:8080http://localhost:8080/api/file/upload
curl -i -X POST \
https://felmee.com/api/file/upload \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@avatar.png;type=image/png' \
-F 'metadata={"purpose":"AVATAR","crop":{"height":300,"width":300,"x":0,"y":0}};type=application/json'Файл успешно загружен
Устаревший camelCase-alias поля error_code; при ошибке оба поля содержат одинаковое значение.
Код ошибки. Для успешных ответов всегда null.
Enum:"invalid_body""unauthorized""not_found""conflict""object_modified_by_another_thread""action_too_late""too_many_request""code_is_gone""forbidden""user_blocked"
Response
{ "success": true, "message": "File upload successfully", "error_code": null, "data": { "file_id": "id" } }