我有html表单,其中包含一些文本框控件和<input type=file>
控件,用于上传文件。所有控件都有服务器验证。想象一下下一种情况:我选择上传文件并输入一些文本框控件的数据(一些文本框我留空)。然后我点击提交按钮,我的表单发送到服务器操作。在服务器中进行验证检查后,我将重定向到相同的表单以进行纠错。所有文本框都保存状态并具有数据,但文件控制没有。
P.S。当我调试代码时,我在视图模型中看到上传的文件。我可以重新发送到HTML格式吗?我不会编写我的代码,因为我认为它是多余的。
答案 0 :(得分:1)
您可以获取文件名(例如myfile.txt
),但不能获取完整路径(例如/home/martin/myfile.txt
或C:/Users/martin/myfile.txt
),因此您无法设置值服务器 - 或使用Javascript。这是出于安全原因的原因。隐私。
你能做什么呢?
使用Javascript或AJAX请求验证表单,如果失败,原始表单(&amp; values)不变(我建议这样做)。
第一次尝试保存文件内容,如果重试失败并且用户没有提供新文件,请使用保存的文件内容(这可能需要一些特殊编码,并且可能会留下孤立文件/数据库行如果用户没有进行第二次尝试而放弃了。我不推荐这样做。