有些个自己的小玩意儿项目, 老是会往服务器上上传一些数据, 用过
ftp
,scp
, 也用过http
, 怎么说, 各有优劣吧, 个人比较喜欢使用http post
, 但是每次都要撸一个脚本跑着感觉甚是麻烦...
于是...学习了下
docker
, 撸了一个用于上传文件的小玩意儿docker HUB, 支持arm64
和amd64
先
docker pull xiaoc7/uploader:1.0
把项目拉下来
配置
需要将容器的
8008
端口映射出来
需要将容器的路径/data
映射出来
示例
docker container run -p 8008:8008 -v/data:/home/xiaoc/data -it xiaoc7/uploader:1.0
用法
1 2 3 4 5 6 7 |
# 请求方式: PUT # 请求URL: ip:port/upload # 请求示例 PUT http://192.168.0.1:8008/upload/temp/test/abc.jpg body: file: 文件数据 # 服务端将会自动创建文件夹temp/test, 并将数据写入abc.jpg中 |
GPT
以下是使用 Python Flask 框架实现的一个简单的文件上传服务端,支持通过 HTTP PUT 方法上传文件:
1 2 3 4 5 6 7 8 9 10 11 12 |
from flask import Flask, request app = Flask(__name__) @app.route('/upload/<filename>', methods=['PUT']) def upload_file(filename): with open(filename, 'wb') as f: f.write(request.data) return 'File uploaded successfully' if __name__ == '__main__': app.run() |
在这个例子中,我们定义了一个 upload_file
函数,用于处理上传文件请求。当客户端发送 PUT 请求并指定文件名时,服务器将请求体中的数据写入到该文件中,并返回上传成功信息。
要运行此服务端,请先安装 Flask 库,然后在终端中执行以下命令:
1 2 |
export FLASK_APP=server.py flask run |
其中,server.py
是你保存上述代码的文件名。
完成后,你可以使用 curl 命令进行测试:
1 |
curl -T file.txt http://127.0.0.1:5000/upload/file.txt |
其中,file.txt
是你要上传的文件路径。请注意,如果你使用 Windows 操作系统,请将文件路径中的反斜杠替换为正斜杠。
不会写这种程序,
我在机器上部署了gitlab把文件传上去~
可以了解下docker, 很香