gpt4 book ai didi

php - 在 web2py 中保留文件上传 html 表单

转载 作者:行者123 更新时间:2023-11-30 22:58:38 26 4
gpt4 key购买 nike

我使用 web2py 开发了一个门户网站。该门户有一个由用户填写的输入表单。表格中有 5 个步骤。最后一步有一堆文件上传字段。

如果用户在填写表单后遇到表单验证错误,他必须再次从上传字段上传文件。因为文件上传字段在表单验证错误后会重置。如果用户只需填写一张表格,这是可以接受的。但当用户必须填写数百个类似的表单来输入数据时,这对用户来说就变得很困难。

我想实现一个即使在表单验证错误后也能保留文件上传字段的功能。有没有办法使用 html 或 php 来实现这一点,或者 web2py 中是否有内置的东西。

如果有人以前做过类似的事情,请告诉我。

最佳答案

持久文件上传字段需要知道用户本地计算机上文件的路径,而浏览器不允许这样做,因为这将是一个安全漏洞。您可以采用几种替代方法,但 web2py 不包含实现它们的内置功能。<​​/p>

一种选择是在提交表单之前进行初始客户端验证(如果您需要任何服务器端数据库查找,则可能通过 Ajax 进行验证)。出于安全目的,您仍然希望进行服务器端验证,但这至少可以防止用户提交最终验证失败的数据。

另一种选择是让用户首次提交除文件之外的所有数据,然后仅在其他数据成功提交后才上传文件。

最后,在服务器端,当验证失败时,您可以将上传的文件存储在临时位置。然后,返回的表单可以显示成功上传的文件的文件名,同时还包括文件上传小部件,以防用户想要更改任何上传的文件。成功提交表单后,您可以将临时存储的文件复制到正确的位置。在这种情况下,您需要某种方法将特定表单提交与临时文件关联起来,并且您可能还需要运行定期任务来清理孤立的临时文件。

关于php - 在 web2py 中保留文件上传 html 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36100141/

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