|
from flask import Flask, request, render_template_string, send_from_directory, jsonify |
|
from flask import render_template |
|
import sqlite3 |
|
import os |
|
import uuid |
|
|
|
app = Flask(__name__, template_folder="./") |
|
|
|
app.config['DEBUG'] = True |
|
|
|
UPLOAD_FOLDER = 'static' |
|
HTML_FOLDER = 'html' |
|
|
|
|
|
if not os.path.exists(UPLOAD_FOLDER): |
|
os.makedirs(UPLOAD_FOLDER) |
|
|
|
if not os.path.exists(HTML_FOLDER): |
|
os.makedirs(HTML_FOLDER) |
|
|
|
@app.route('/upload', methods=['POST']) |
|
def upload_file(): |
|
if 'file' not in request.files: |
|
return "No file part", 400 |
|
file = request.files['file'] |
|
if file.filename == '': |
|
return "No selected file", 400 |
|
|
|
|
|
unique_filename = str(uuid.uuid4()) + os.path.splitext(file.filename)[1] |
|
save_path = os.path.join(UPLOAD_FOLDER, unique_filename) |
|
file.save(save_path) |
|
|
|
|
|
full_url = request.url_root.replace('http://', 'https://') + 'uploads/' + unique_filename |
|
return f"File uploaded successfully and saved to {full_url}", 200 |
|
|
|
@app.route('/uploads/<filename>', methods=['GET']) |
|
def uploaded_file(filename): |
|
return send_from_directory(UPLOAD_FOLDER, filename) |
|
|
|
@app.route('/up_fa', methods=['GET']) |
|
def up_fa(): |
|
return render_template('up_fa.html') |
|
|
|
@app.route('/up_page', methods=['POST']) |
|
def upload_page(): |
|
if 'file' not in request.files: |
|
return "No file part", 400 |
|
file = request.files['file'] |
|
if file.filename == '': |
|
return "No selected file", 400 |
|
|
|
filename = request.form.get('filename') |
|
if not filename: |
|
return "Filename is required", 400 |
|
|
|
save_path = os.path.join(HTML_FOLDER, filename + '.html') |
|
file.save(save_path) |
|
|
|
|
|
full_url = request.url_root.replace('http://', 'https://') + filename |
|
return f"Page uploaded successfully and saved to {full_url}", 200 |
|
|
|
@app.route('/<path:filename>', methods=['GET']) |
|
def serve_html(filename): |
|
if not filename.endswith('.html'): |
|
filename += '.html' |
|
return send_from_directory(HTML_FOLDER, filename) |
|
|
|
if __name__ == '__main__': |
|
app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860))) |
|
|