Skip to content

Commit

Permalink
update imgproxy docs - add bucket conf
Browse files Browse the repository at this point in the history
  • Loading branch information
A-Najmabadi committed Mar 10, 2024
1 parent ab0dd03 commit 05ad7e0
Showing 1 changed file with 77 additions and 3 deletions.
80 changes: 77 additions & 3 deletions pages/one-click-apps/imgproxy.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,82 @@ export default () => (

<p>
بدین نحو، تمامی تغییرات اعمال می‌شوند و شما می‌توانید با استفاده از URL
فوق، به عکس نهایی خود دسترسی داشته باشید. برای کسب اطلاعات بیشتر و اعمال
دیگر تغییرات می‌توانید{" "}
فوق، به عکس نهایی خود دسترسی داشته باشید. قطعه کد زیر، نمونه‌ای از استفاده
imgproxy بر روی باکت لیارا در فریم‌ورک Flask است:
</p>
<Highlight className="python">
{`from flask import Flask, request, render_template, redirect, url_for
import boto3
import uuid
from dotenv import load_dotenv
import os
app = Flask(__name__)
# Load environment variables from .env file
load_dotenv()
LIARA_ENDPOINT = os.getenv("LIARA_ENDPOINT")
LIARA_BUCKET_NAME = os.getenv("LIARA_BUCKET_NAME")
LIARA_ACCESS_KEY = os.getenv("LIARA_ACCESS_KEY")
LIARA_SECRET_KEY = os.getenv("LIARA_SECRET_KEY")
IMGPROXY_URL = os.getenv("IMGPROXY_URL")
img_proxy_conf = {
"signature": "_",
"options": "resize:fill:300:400:0",
"gravity": "gravity:sm",
}
imgproxy_conf = f'{img_proxy_conf["signature"]}/{img_proxy_conf["options"]}/{img_proxy_conf["gravity"]}/plain'
s3 = boto3.client('s3',
endpoint_url=LIARA_ENDPOINT,
aws_access_key_id=LIARA_ACCESS_KEY,
aws_secret_access_key=LIARA_SECRET_KEY)
@app.route('/', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
file = request.files['file']
if file:
# Generate a unique filename using UUID
filename = str(uuid.uuid4()) + '.' + file.filename.rsplit('.', 1)[1]
# Save file to S3
s3.upload_fileobj(file, LIARA_BUCKET_NAME, filename)
# Generate the URL for the uploaded file
url = f"{LIARA_ENDPOINT}/{LIARA_BUCKET_NAME}/{filename}"
# Redirect to images page
return redirect(url_for('images'))
return render_template('index.html')
@app.route('/images')
def images():
# List all objects in the bucket
response = s3.list_objects_v2(Bucket=LIARA_BUCKET_NAME)
images = []
for obj in response.get('Contents', []):
images.append(f"{IMGPROXY_URL}{imgproxy_conf}/{LIARA_ENDPOINT}/{LIARA_BUCKET_NAME}/{obj['Key']}")
return render_template('images.html', images=images)
if __name__ == '__main__':
app.run(debug=True)
`}
</Highlight>

<Notice variant="info">
سورس کامل قطعه کد فوق در{" "}
<Link href="https://github.com/liara-cloud/imgproxy-getting-started/tree/flask-bucket-app">
گیت‌هاب لیارا
</Link>{" "}
موجود است که می‌توانید از آن استفاده کنید.
</Notice>

<p>
برای کسب اطلاعات بیشتر و اعمال دیگر تغییرات می‌توانید{" "}
<a
href="https://docs.imgproxy.net/usage/processing"
target="_blank"
Expand Down Expand Up @@ -184,7 +258,7 @@ class Image(models.Model):
</Highlight>
<Notice variant="info">
سورس کامل قطعه کد فوق در{" "}
<Link href="https://github.com/liara-cloud/imgproxy-getting-started.git">
<Link href="https://github.com/liara-cloud/imgproxy-getting-started/tree/django-app">
گیت‌هاب لیارا
</Link>{" "}
موجود است که می‌توانید از آن استفاده کنید.
Expand Down

0 comments on commit 05ad7e0

Please sign in to comment.