gpt4 book ai didi

file-upload - Pyramid/Pylons : How to check if an uploaded file is complete in a POST request?

转载 作者:行者123 更新时间:2023-12-02 02:24:20 25 4
gpt4 key购买 nike

我正在构建一个网络工具,允许用户使用他们的网络浏览器将 PDF 上传到服务器。服务器基于 Python (Paste + Pyramid)。

我现在遇到的问题如下:如果用户上传了一个相当大的文件(比如说 100 MB)并且他们在上传完成之前取消了上传,我在服务器上的处理程序代码仍然会被调用(而不是请求被中止)。

问题是发生这种情况时 request.POST['myfile'].file 不完整。这实际上意味着如果我只是将 PDF 文件写入服务器上的某个位置,它就会损坏。

当我查看服务器的日志时,它在粘贴服务器中显示“管道损坏”异常;但是我不知道如何捕获该异常并让它阻止我的 View /处理程序代码执行和存储不完整的文件。

最佳答案

似乎 paster HTTP 服务器没有正确验证上传的表单数据,只是简单地将请求传递到 WSGI 管道,即使连接 (HTTP POST) 已被用户关闭也是如此。

我通过简单地设置 NGINX 解决了这个问题充当反向代理。这也增加了一些安全优势,因为它可能比 paster 进行了更好的测试。


更新:

我的主要问题是我使用的是 runserver(manage.py 的内置 Web 服务器)。经过反复试验,我们最终使用了 WSGI。

更具体地说,uWSGINginx作为网络服务器。静态内容由 Nginx 直接提供,而动态页面通过 uWSGI 管道传输并由 Python 网络应用程序处理。

关于file-upload - Pyramid/Pylons : How to check if an uploaded file is complete in a POST request?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6684195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com