Python 3启动一个简单的上传下载服务

下载服务

python3 -m http.server 8080

这个命令将在当前目录下启动一个 HTTP 服务器,监听端口 8080。

上传服务

你需要先安装 Flask。如果没有安装,可以使用 pip 安装:

pip install flask

创建 Flask 应用: 创建一个名为 app.py 的文件,并添加以下内容:

from flask import Flask, request, redirect, url_for, render_template
import os

app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = 'uploads'

if not os.path.exists(app.config['UPLOAD_FOLDER']):
    os.makedirs(app.config['UPLOAD_FOLDER'])

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/upload', methods=['POST'])
def upload_file():
    if 'file' not in request.files:
        return 'No file part'
    file = request.files['file']
    if file.filename == '':
        return 'No selected file'
    if file:
        file.save(os.path.join(app.config['UPLOAD_FOLDER'], file.filename))
        return 'File successfully uploaded'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=80)

创建 HTML 模板: 创建一个名为 templates 的文件夹,并在其中创建一个名为 index.html 的文件,添加以下内容:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>File Upload</title>
  </head>
  <body>
    <h1>Upload new File</h1>
    <form method="post" enctype="multipart/form-data" action="{{ url_for('upload_file') }}">
      <input type="file" name="file">
      <input type="submit" value="Upload">
    </form>
  </body>
</html>

文件结构

my_flask_app/
│
├── app.py
└── templates/
    └── index.html

运行 Flask 应用: 启动 Flask 应用时,需要使用 sudo 来绑定到端口 80(低于 1024 的端口需要管理员权限):

sudo python app.py

访问应用: 在浏览器中访问你的服务器的 IP 地址。例如,如果你的服务器 IP 是 11.10.113.0,你可以在浏览器中访问 http://11.10.113.0

0 0 投票数
Article Rating
订阅评论
提醒
guest
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x