我正在构建一个网络工具,允许用户使用他们的网络浏览器将 PDF 上传到服务器。服务器基于 Python(Paste + Pyramid)。
我现在遇到的问题如下:如果用户上传了一个相当大的文件(比如说 100 MB)并且他们在上传完成之前取消了上传,我在服务器上的处理程序代码仍然被调用(而不是请求被中止)。
问题是request.POST['myfile'].file
发生这种情况时它是不完整的。这实际上意味着如果我只是将 PDF 文件写入服务器上的某个位置,它就会损坏。
当我查看服务器的日志时,它在粘贴服务器中显示“管道损坏”异常;但是我不知道如何捕获该异常并让它阻止我的视图/处理程序代码执行和存储不完整的文件。