【问题标题】:file upload in form field for mobile web app在移动 Web 应用程序的表单字段中上传文件
【发布时间】:2011-11-02 20:58:05
【问题描述】:

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

【问题讨论】:

    标签: java javascript html file-upload spring-mvc


    【解决方案1】:

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

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

    【讨论】:

    • 此外,移动 safari 完全禁用了 file input 类型。因此,如果没有第三方的帮助,大多数 iOS 用户将不得不在没有第三方帮助的情况下生活。我相信早于 2.2 的 Android 设备也有同样的问题。
    • 从未为 iOS 或 Android 开发过。很高兴知道。检测这些操作系统并从显示器中删除文件输入是个好主意,然后后面的按钮可能只有一个 onClick 来提醒他们的操作系统不支持用户文件上传。
    • 如果您要尝试或执行此操作,请点赞和接受如何?我知道您是 SO 新手,但很快您就会遇到拒绝尝试回答您的问题的人,除非您接受某些答案。你已经回答了很多问题。如果它回答了你的问题,也给这些人一个接受。
    猜你喜欢
    • 2022-10-04
    • 2014-04-05
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多