使用 cURL 将文件上传到 Nginx

Nas*_*ffy 5 curl nginx

全部,

我正在尝试通过 cURL 将本地文件上传到远程 Nginx 服务器。我使用上传模块和 DAV 模块从源代码构建了 Nginx 。Nginx 页面底部有一个上传文件的示例表单。我不确定如何实现该表单,并且(几次)Google 搜索返回了有关通过 cURL 直接上传到 Nginx 的有用信息。

目前的技术栈:

  • nginx
  • 绿色独角兽
  • 烧瓶

在我尝试过的所有不同途径中,以下是最适合该任务的途径。

curl -X POST -F "image=@example.gif" http://54.226.64.199/upload
Run Code Online (Sandbox Code Playgroud)

然而,反响却平淡无奇。

我也尝试过 --uploade-file ,响应是 405。根据我的阅读,上传只接受 POST 命令,而不接受 PUT,因此我得到 405 的原因。

我不需要完整的解决方案(那就太好了!),只需要指出正确的方向。

任何帮助表示赞赏。谢谢

编辑:抱歉想包含我的 .conf 的一部分

        location /upload {
        upload_store /tmp;
        #upload_pass @none;
        upload_store_access all:rw;
        upload_cleanup 400 404 499 500-505;

    }
Run Code Online (Sandbox Code Playgroud)

Clé*_*don 1

您可以通过在 URL 中指定文件名来完成此操作,而不使用任何外部模块:

location ~ "/upload/([0-9a-zA-Z-.]*)$" {
    alias     /storage/www/upload/$1;
    client_body_temp_path  /tmp/upload_tmp;
    dav_methods  PUT DELETE MKCOL COPY MOVE;
    create_full_put_path   on;
    dav_access             group:rw  all:r;
}
Run Code Online (Sandbox Code Playgroud)

并使用:curl -T example.gif http://54.226.64.199/upload/example.gif