我正在使用CakePHP编写Web应用程序。现在,在保存失败后使用cake并将其重定向回添加或编辑屏幕,插入的数据将返回到表单字段中供用户编辑。这正是我想要的,问题是文件上传字段没有保留。当用户选择要上载的图像时,有没有办法保留文件输入表单字段的路径?
由于
答案 0 :(得分:2)
现代浏览器会模糊文件输入的值以隐藏有关客户端文件系统的信息。这包括通过javascript访问输入值,浏览器将返回C:\fakepath\file.txt
之类的内容。
通常也不允许通过在HTML中设置value
属性或通过javascript来设置文件输入的值。因此,即使您能够以某种方式找出它的内容,您也无法恢复输入字段的先前值。在这里试试自己:
(这些限制中有一些例外,例如早期版本的IE,但我认为这对你没有帮助。)
由于用户的路径未发送作为表单数据的一部分,it will not be available in PHP。
您的案例中的解决方案可能是将上传的文件保留在服务器上。发生保存错误时,将对临时文件的适当引用传递回表单(例如,通过会话数据),并允许用户选择是保留原始文件,还是在更正其他部分时选择要上载的新文件形式。
答案 1 :(得分:0)
你可以,但我不认为这是一个好主意:如果用户没有响应一段时间并且会话超时,则该文件可能会被删除。您应该以单独的形式(在单独的页面上)制作上传文件,或手动管理您自己的上传过程。