【发布时间】:2010-06-10 13:08:10
【问题描述】:
我有一个用于 PDF 签名的 Firefox 组件,我通过 Javascript 调用它。问题是该组件将签名的 PDF 输出为用户文件系统上的文件 - 无法获取字节 []、流或类似内容。
我需要将此签名的 PDF 文件发回服务器。是否可以在纯 Javascript 中做到这一点,而无需额外的 Firefox 组件?
【问题讨论】:
标签: javascript file upload
我有一个用于 PDF 签名的 Firefox 组件,我通过 Javascript 调用它。问题是该组件将签名的 PDF 输出为用户文件系统上的文件 - 无法获取字节 []、流或类似内容。
我需要将此签名的 PDF 文件发回服务器。是否可以在纯 Javascript 中做到这一点,而无需额外的 Firefox 组件?
【问题讨论】:
标签: javascript file upload
您不能在没有干预的情况下执行此操作,这将是一个巨大的安全漏洞。想想访问一个网页,它能够在您不做任何事情的情况下抓取和上传您的任何文件......您可以看到这将如何真正快速地被滥用。
您也许可以使用 Firefox 扩展来做到这一点,我不确定它施加的安全限制(尽管如果它也不允许这样做我不会感到惊讶),但 JavaScript 在这里不是一个选项.
【讨论】:
没有直接的方法可以在浏览器中访问用户文件系统上的数据,除非您通过扩展程序来访问。这将是一个巨大的安全风险。
如果文件可以放入 Firefox 中的 <input type="file" /> 元素中,您可以在无需用户干预的情况下将 use JavaScript to automatically upload the data 发送到服务器,但您需要一些东西才能将文件最初放入页面的内存,而不是文件系统。
【讨论】:
见鬼 - 而且有很好的理由。您不会希望每个 Tom、Dick 和 Harry 都自动抓取您的所有文件。
我相信需要用户交互的是文件输入。您可以自动发布表单,但无法填写。
IMO 你最好的选择是用一个 Java 小程序替换整个 Firefox 组件——我几乎可以保证有一个用于 PDF 签名的 Java 项目。甚至可以使用 Flash 或 Silverlight,只要您可以使用 PDF 做您需要的事情。
【讨论】: