feat: save game images locally and store their paths in the database
This commit is contained in:
parent
e34d9270e9
commit
1d04d0d941
@ -15,6 +15,7 @@ db.init_app(app)
|
|||||||
|
|
||||||
# Stelle sicher, dass der instance-Ordner existiert
|
# Stelle sicher, dass der instance-Ordner existiert
|
||||||
os.makedirs(app.instance_path, exist_ok=True)
|
os.makedirs(app.instance_path, exist_ok=True)
|
||||||
|
os.makedirs(os.path.join(app.instance_path, 'game_images'), exist_ok=True) # Create game_images directory
|
||||||
|
|
||||||
with app.app_context():
|
with app.app_context():
|
||||||
init_db() # Ensure the database is initialized before any operations
|
init_db() # Ensure the database is initialized before any operations
|
||||||
@ -25,8 +26,19 @@ def add_game():
|
|||||||
return jsonify({'message': 'Unauthorized access!'}), 401
|
return jsonify({'message': 'Unauthorized access!'}), 401
|
||||||
data = request.json
|
data = request.json
|
||||||
buyer_username = g.user.username # Get the username from the authenticated user
|
buyer_username = g.user.username # Get the username from the authenticated user
|
||||||
|
|
||||||
|
# Download the image and save it locally
|
||||||
|
image_url = data['image']
|
||||||
|
image_response = requests.get(image_url)
|
||||||
|
if image_response.status_code == 200:
|
||||||
|
image_filename = os.path.join(app.instance_path, 'game_images', f"{data['title'].replace(' ', '_')}.jpg")
|
||||||
|
with open(image_filename, 'wb') as f:
|
||||||
|
f.write(image_response.content)
|
||||||
|
else:
|
||||||
|
return jsonify({'message': 'Image could not be downloaded!'}), 400
|
||||||
|
|
||||||
new_game = Game(
|
new_game = Game(
|
||||||
image=data['image'],
|
image=image_filename, # Save the local path to the image
|
||||||
title=data['title'],
|
title=data['title'],
|
||||||
date=datetime.now().strftime('%Y-%m-%d'), # Set current date
|
date=datetime.now().strftime('%Y-%m-%d'), # Set current date
|
||||||
buyer=buyer_username, # Set buyer as the authenticated user's username
|
buyer=buyer_username, # Set buyer as the authenticated user's username
|
||||||
|
Loading…
Reference in New Issue
Block a user