ردود الذكاء الاصطناعي
سؤالك:
إجابة الشبكة العصبية:
برای ارسال یک فایل جیسون به یک سرور و دریافت پاسخ از سرور با استفاده از FastAPI و Redis، میتوانید از کد زیر استفاده کنید:
from fastapi import FastAPI, File, UploadFile
import redis
app = FastAPI()
# اتصال به Redis
r = redis.Redis(host='localhost', port=6379, db=0)
# مسیر برای ذخیره فایلها
UPLOAD_FOLDER = "uploads/"
@app.post("/upload/")
async def upload_file(file: UploadFile = File(...)):
# ذخیره فایل در سرور
with open(UPLOAD_FOLDER + file.filename, "wb") as f:
f.write(file.file.read())
# ارسال فایل به Redis
r.set(file.filename, file.file.read())
return {"message": "File uploaded successfully"}
@app.get("/download/{filename}")
async def download_file(filename: str):
# دریافت فایل از Redis
file_data = r.get(filename)
if file_data:
with open(UPLOAD_FOLDER + filename, "wb") as f:
f.write(file_data)
return {"message": "File downloaded successfully"}
else:
return {"message": "File not found"}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
در این کد، ابتدا یک سرور FastAPI ایجاد شده و اتصال به Redis برقرار میشود. سپس دو endpoint برای ارسال و دریافت فایل ایجاد میشود. وقتی یک فایل ارسال میشود، فایل در سرور ذخیره شده و همچنین به Redis ارسال میشود. وقتی کاربر درخواست دانلود یک فایل میدهد، فایل از Redis دریافت شده و برای کاربر ارسال میشود.
برای اجرای این کد، ابتدا FastAPI و Redis را نصب کنید و سپس کد را در یک فایل Python ذخیره کرده و اجرا کنید. سپس میتوانید از endpoint های /upload/
و /download/{filename}
برای ارسال و دریافت فایل استفاده کنید.
يرجى ملاحظة: قد لا تكون الإجابات المقدمة بواسطة الذكاء الاصطناعي دقيقة دائمًا. لا تعتمد عليها في القضايا الحساسة مثل الطب، القانون، الأمور المالية أو القضايا الأمنية. من الأفضل دائمًا الرجوع إلى المتخصصين المؤهلين عند اتخاذ القرارات المهمة. إدارة الموقع غير مسؤولة عن المحتوى الذي يتم إنتاجه تلقائيًا.