Spaces:
Running
Running
File size: 2,671 Bytes
53f7a0c 4a672f4 62e7ddb 4a672f4 c8d1088 4a672f4 c8d1088 4a672f4 62e7ddb 4a672f4 62e7ddb 4a672f4 62e7ddb 4a672f4 62e7ddb 4a672f4 62e7ddb 4a672f4 62e7ddb 4a672f4 62e7ddb 4a672f4 62e7ddb 4a672f4 62e7ddb 4a672f4 62e7ddb 4a672f4 62e7ddb 4a672f4 62e7ddb 4a672f4 62e7ddb 797f638 f984e57 62e7ddb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
from flask import Flask, request, jsonify, send_from_directory
import shutil
import os
app = Flask(__name__)
IMAGE_FOLDER = "images"
app.config["UPLOAD_FOLDER"] = IMAGE_FOLDER
@app.route("/images/<filename>")
def get_image(filename):
return send_from_directory(app.config["UPLOAD_FOLDER"], filename)
# Create folders to store uploaded images
UPLOAD_FOLDER = "uploads"
IMAGE_FOLDER = os.path.join(UPLOAD_FOLDER, "images")
VIDEO_FOLDER = os.path.join(UPLOAD_FOLDER, "videos")
for folder in [UPLOAD_FOLDER, IMAGE_FOLDER, VIDEO_FOLDER]:
os.makedirs(folder, exist_ok=True)
# Create a dictionary to store available images
available_images = {}
@app.route("/upload", methods=["POST"])
def upload_image():
url = request.form.get("url")
file = request.files["file"]
allowed_formats = [".png", ".jpg"]
file_format = os.path.splitext(file.filename)[1]
if file_format not in allowed_formats:
return jsonify({"message": "Unsupported file format"}), 400
# Save the uploaded file
file.save(os.path.join(UPLOAD_FOLDER, file.filename))
# Determine the folder based on the file format
folder = "images" if file_format in [".png", ".jpg"] else "videos"
# Move the file to the appropriate folder
shutil.move(
os.path.join(UPLOAD_FOLDER, file.filename),
os.path.join(UPLOAD_FOLDER, folder, file.filename)
)
# Update available images dictionary
available_images[file.filename] = {"url": url, "name": file.filename}
return jsonify({"message": "File uploaded successfully"})
@app.route("/get-all-images", methods=["GET"])
def get_all_images():
password = request.args.get("password")
from_folder = request.args.get("from_folder")
if password != "Kastg@123":
return jsonify({"message": "Unauthorized"}), 401
folder_path = os.path.join(UPLOAD_FOLDER, from_folder)
if not os.path.exists(folder_path):
return jsonify({"message": "Folder not found"}), 404
images = os.listdir(folder_path)
return jsonify({"images": images})
@app.route("/delete-image", methods=["DELETE"])
def delete_image():
image_name = request.args.get("image_name")
password = request.args.get("password")
if password != "Kastg@123":
return jsonify({"message": "Unauthorized"}), 401
image_path = os.path.join(UPLOAD_FOLDER, image_name)
if not os.path.exists(image_path):
return jsonify({"message": "Image not found"}), 404
os.remove(image_path)
available_images.pop(image_name, None)
return jsonify({"message": "Image deleted successfully"})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7860, debug=True)
|