使用Javascript上传文件,无需用户干预

问题描述 投票:0回答:3

我有一个用于 PDF 签名的 Firefox 组件,我通过 Javascript 调用它。问题是该组件将签名的 PDF 作为文件输出到用户的文件系统上 - 无法获取 byte[]、流或类似的数据。

我需要将此签名的 PDF 文件发布回服务器。是否可以用纯 Javascript 来完成此操作,而不需要额外的 Firefox 组件?

javascript file upload
3个回答
2
投票

如果没有用户干预,你无法做到这一点,这将是一个巨大的安全漏洞。想象一下访问一个网页,它能够在您不做任何事情的情况下抓取并上传您的任何文件...您可以看到这将如何被滥用真的快。

您也许可以使用 Firefox 扩展来做到这一点,我不确定它所施加的安全限制(尽管如果它也不允许这样做,我也不会感到惊讶),但 JavaScript 在这里不是一个选项。


1
投票

没有直接的方法可以在浏览器中访问用户文件系统上的数据,除非您通过扩展程序进行访问。这将是一个巨大的安全风险。

如果文件可以放入 Firefox 中的

<input type="file" />
元素中,您可以使用 JavaScript 自动将数据上传到服务器,无需用户干预,但您需要一些东西来最初将文件放入页面内存中,而不是文件系统。


0
投票

天哪,不——而且有充分的理由。您不会希望每个汤姆、迪克和哈利都自动抓取您的所有文件。

我相信这是需要用户交互的文件输入。您可以自动发布表格,但无法填写。

在我看来,你最好的选择是用一个 Java 小程序替换整个 Firefox 组件 - 我几乎可以保证有一个用于 PDF 签名的 Java 项目。甚至可以使用 Flash 或 Silverlight,只要您可以对 PDF 执行您需要的操作即可。

© www.soinside.com 2019 - 2024. All rights reserved.