写了个利用http put上传文件的docker

有些个自己的小玩意儿项目, 老是会往服务器上上传一些数据, 用过ftp, scp, 也用过http, 怎么说, 各有优劣吧, 个人比较喜欢使用http post, 但是每次都要撸一个脚本跑着感觉甚是麻烦...

于是...学习了下docker, 撸了一个用于上传文件的小玩意儿docker HUB, 支持arm64amd64

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 操作系统,请将文件路径中的反斜杠替换为正斜杠。

“写了个利用http put上传文件的docker”的2个回复

  1. 不会写这种程序,
    我在机器上部署了gitlab把文件传上去~

发表评论

您的电子邮箱地址不会被公开。