MultipartFile - 如何检测用户计算机上文件的真实路径

时间:2014-09-03 09:26:40

标签: java spring spring-mvc

我遇到以下问题:我使用MultipartFile将图像与电子邮件等其他信息进行汇总。

考虑我们有两个字段的情况:input =带有电子邮件的文本和带有文件的输入(输入类型=文件)。在服务器端,我有验证检查电子邮件。现在想象用户输入了无效的电子邮件,选择了一个他想要上传的文件并提交了一个表单。在该服务器识别出电子邮件无效之后,返回使用用户先前输入的值完成电子邮件输入的页面(非常容易支持使用DTO)但文件输入为空(DTO包含存储用户先前上载的文件的MultipartFile字段)。我认为将文件路径与文件一起发送到文件是一种不好的做法,因为这不安全,因为MultipartFile可能不存储文件路径。你能否提一下如何处理这种情况?谢谢!

1 个答案:

答案 0 :(得分:2)

上传文件的完整路径在服务器端没有意义,可能被视为敏感数据(完整路径可能包含用户名等)。

基本文件上传者和表格中带有<input>的HTML type=file标记不发送完整路径,您也不应该。

编辑(响应您的修改):

在提交表单之前,您可以在客户端(JavaScript)检查表单的其他字段。如果任何内容无效,请提醒用户并且不要提交表单。

或者您可以通过AJAX调用提交表单数据,并在服务器端进行检查/验证。

相关问题