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

时间:2010-06-10 13:08:10

标签: javascript file upload

我有一个用于PDF签名的Firefox组件,我通过Javascript调用。问题是这个组件将签名的PDF作为文件输出到用户的文件系统上 - 没有办法获得byte [],stream或类似的东西。

我需要将此签名的PDF文件发回服务器。是否可以在普通的Javascript中执行此操作,而无需其他Firefox组件?

3 个答案:

答案 0 :(得分:2)

如果没有干预,你不能这样做,这将是一个巨大的安全漏洞。考虑访问一个网页,它能够抓取并上传你的任何文件,而无需你做任何事情...你可以看到这将如何被滥用真的快。

您可以使用Firefox扩展程序执行此操作,我不确定它所带来的安全限制(尽管如果它也不允许这样做我也不会感到惊讶),但JavaScript不是这里的选项

答案 1 :(得分:1)

除非您通过扩展程序进行操作,否则无法直接访问浏览器中用户文件系统上的数据。这将是一个巨大的安全风险。

如果文件可以放入Firefox中的<input type="file" />元素,你可以use JavaScript to automatically upload the data到服务器而无需用户干预,但是你需要一些东西来初步将文件放到页面的内存中,而不是文件系统。

答案 2 :(得分:0)

地狱不 - 并且有很好的理由。你不希望每个Tom,Dick和Harry都自动抓取你的所有文件。

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

IMO你最好的选择是用一个Java applet替换整个Firefox组件 - 我几乎都保证有一个用于PDF签名的Java项目。甚至可能是Flash或Silverlight,只要你能用你的PDF做到你需要的东西。