有些个自己的小玩意儿项目, 老是会往服务器上上传一些数据, 用过
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
用法
# 请求方式: 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 方法上传文件:
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 库,然后在终端中执行以下命令:
export FLASK_APP=server.py
flask run
其中,server.py
是你保存上述代码的文件名。
完成后,你可以使用 curl 命令进行测试:
curl -T file.txt http://127.0.0.1:5000/upload/file.txt
其中,file.txt
是你要上传的文件路径。请注意,如果你使用 Windows 操作系统,请将文件路径中的反斜杠替换为正斜杠。
不会写这种程序,
我在机器上部署了gitlab把文件传上去~
可以了解下docker, 很香