Nginx 浏览器 - 上传

主要观点:在列出文件和设置目录访问后,允许部分用户上传文件,此方案较 hacky 但只需标准 nginx 服务器和少量 JavaScript。
关键信息:

  • Nginx 配置:定义上传端点,设置客户端临时路径、代理相关设置等,通过另一个只监听本地的服务器处理请求体。
  • JavaScript 代码:使用 JavaScript 实现文件上传,将文件分割为块并发送元文件,通过promise_chain逐个上传块。
  • 用 Bash 脚本重组:找到标记值开头的文件,提取元信息,重组文件并删除已使用的块。
    重要细节:
  • nginx会将请求体存储在指定路径,但需有proxy_pass定义,通过定义新服务器绕过该限制。
  • 浏览器File对象的slice函数用于分割文件,发送包含元数据的文件给服务器。
  • promise_chain确保文件块逐个上传,块会等待重组。
  • Bash 脚本通过特定条件查找和重组文件。
阅读 8
0 条评论