68 lines
1.3 KiB
Markdown
68 lines
1.3 KiB
Markdown
# resize-img-api
|
|
|
|
The structure of the API path is:
|
|
|
|
```
|
|
/api/imgresize/:width/:height/:url
|
|
```
|
|
|
|
Where `:width` and `:height` can be numbers in pixels or `auto`.
|
|
|
|
The `:url` is the URL of the image to be resized and should be URL encoded, which can be done in JS with `encodeURIComponent`(). See [MDN ref](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent).
|
|
|
|
Example encoded URL for [https://memori.ai/logo.png](https://memori.ai/logo.png):
|
|
|
|
```
|
|
https%3A%2F%2Fmemori.ai%2Flogo.png
|
|
```
|
|
|
|
Then call the API as, for example:
|
|
|
|
```
|
|
/api/imgresize/200/200/https%3A%2F%2Fmemori.ai%2Flogo.png
|
|
```
|
|
|
|
You can also specify a format using the querystring `?format=` and indicating one of the following: avif, gif, heif, jpeg, jpg, jp2, pdf, png, svg, tiff, webp.
|
|
|
|
## Docker
|
|
|
|
To build the Docker image:
|
|
|
|
```bash
|
|
docker build -t resize-img-api .
|
|
```
|
|
|
|
To run the Docker container:
|
|
|
|
```bash
|
|
docker run -p 8787:8787 resize-img-api
|
|
```
|
|
|
|
Using the published image:
|
|
|
|
```bash
|
|
docker run -p 8787:8787 git.nzambello.dev/nzambello/resize-img-api:latest
|
|
```
|
|
|
|
## Development
|
|
|
|
To install dependencies:
|
|
|
|
```bash
|
|
bun install
|
|
```
|
|
|
|
To run:
|
|
|
|
```bash
|
|
bun start
|
|
```
|
|
|
|
Or in development mode with hot reloading:
|
|
|
|
```bash
|
|
bun dev
|
|
```
|
|
|
|
This project was created using `bun init` in bun v1.0.26. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
|