当表单验证失败并且用户重新提交表单时,Flask-WTF 文件内容丢失

Flask-WTF File contents lost when form fails validation and user resubmits form

我遇到一个问题,当用户重新提交表单时,通过 FileField 上传的文件的内容丢失了。我猜简单的答案是强制用户重新上传文件,但是我想知道是否有可以避免让用户重新上传的解决方法。

正如@dirn 所说,这就是文件上传的本质。您有两种选择来解决这个问题。

  1. 在提示用户修复输入错误时临时保存上传的文件(尤其是大文件时)(如@dirn 所建议)。这将需要额外的逻辑来清除文件(假设用户决定他们不想再提交表单或他们转到不同的页面等)
  2. 使用 javascript 验证您的表单,以便文件仅在表单实际有效时上传(wtforms 并不能真正帮助您使用此选项)