java - 移动网络应用程序的表单字段中的文件上传

标签 java javascript html file-upload spring-mvc

我正在使用 spring(spring mvc) 开发移动网络应用程序。我需要开发一个表单,使用户能够上传文件(恢复)并在提交时将其存储在数据库中。 我不知道如何完成它! 在我使用输入类型作为文件的表单中,它在不同的浏览器上以不同的方式工作。如果有人做到了,请告诉我步骤或任何站点上的一些工作演示。 是的,我不想使用某些第三方工具。 谢谢。

最佳答案

抱歉,伙计,你在这方面有点 SOL。文件输入类型与大多数输入类型不同。每个浏览器都以自己的方式实现它,因此它在多个浏览器上看起来永远不会相同。此外,出于安全原因,您无法使用 JavaScript 触发文件输入,因此您无法创建可通过其他标准输入进行交互的不可见文件输入。很多之前你尝试过,但都失败了。当我无事可做时,我花了几天时间研究可能的替代方案,而它们都遇到了安全问题。 Jquery 提供了最接近的东西,但仍然需要一个主要浏览器的浏览器切换(我记不清是哪一个了)。

现在坏消息已经过去,您可以采取以下措施。在屏幕上放置一个按钮并按照您喜欢的方式设置其样式。将文件输入放在屏幕上,并使用绝对定位和较高的 z-index 将其放在按钮的正上方。现在使其透明(不是不显示,而是使用不透明度和过滤器:alpha 样式),现在用户认为他们正在与标准按钮交互,但其上方的不可见文件输入会拦截单击。您可以关闭文件输入,该文件输入在所有浏览器中的行为和外观都相同。

关于java - 移动网络应用程序的表单字段中的文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7177074/

相关文章:

java - 通过映射将2个列表合并为1个列表

java - 排除数组的索引 0 作为输出选项?

javascript - 设置宽度 : 0 is not hiding the text

jquery - 检测 CSS 下拉菜单是否靠近浏览器边缘并更改对齐方式 - 流体宽度

javascript - 使用一个按钮而不是两个按钮来启用和停止功能

java - 在结果集 Java 中执行 Access 查询

java - 在 JSP 中 Autowiring Spring Beans 的最干净的方法是什么?

javascript - 过滤 redux 状态时收到错误消息

javascript - JQuery 中的链接。它到底是如何运作的

javascript - 为什么使用 CDN(内容交付网络)?