如何在 javascript 中获取*用户选择的*本地*文件的内容,而不需要任何帖子、获取、提交等

发布于 2024-12-24 18:33:01 字数 974 浏览 0 评论 0原文

我正在使用 jQuery,如果这有什么好处的话;我希望:

  1. 用户在本地文件系统上选择一个文件

  2. 我的javascript 无需“跨线”即可获取所述文件的内容。

  3. 我正在检查浏览器类型并准备使用完全不同的浏览器类型 每个浏览器的代码。 IE 和 FF 是我目前正在编写的两个。

  4. 我没有使用 php,只是在表单上直接使用 javascript。

  5. 在文件内容被获取、验证和操作之前,我不需要任何获取、发布、提交、ajax 或任何其他网络活动(所有这些我的脚本都会执行;这个问题只是为了获取文件的内容)。

  6. 我不一定需要获取路径。我并不是特别想要获得路径。普遍接受的“安全”概念是让用户选择文件,而我的脚本只获取内容。没关系,但如果我得到了路径,我就不会抱怨。

我已经用谷歌搜索了很多,但没有得到任何简单有效的解决方案。


我查看过 Mozilla XPCOM,但文件选择器 nsIFilePicker 需要权限升级,我对此只是不想去应对。


我尝试过使用常规的

<input type="file" onclick="fileCheck(this); return false" . . . />

with

function fileCheck ()
{
  var path = obj.files[0].mozFullPath;
}

但即使你可以在 Firebug 中看到 mozFullPath,它也不会出现在 Javascript 中(表面上是出于安全原因)。

有什么想法吗?

I'm using jQuery if that's any benefit; and I would like to have:

  1. The user selects a file on the local filesystem

  2. my javascript gets the contents of said file without going "across the wire".

  3. I am checking the browser type and am prepared to use completely different
    code for each browser. IE and FF are the two that I am currently writing for.

  4. I am Not using php, just straight javascript on a form.

  5. I do not want any gets, posts, submits, ajax, or any other network activity until the contents of the file have been acquired, validated, and manipulated (all of which my script will do; this question is just for getting the guts of the file).

  6. I do not necessarily need to get the path. I don't particularly want to get the path. The generally accepted notion of "secure" having the user pick the file and my script just gets the contents. That's fine, but if I get the path I won't complain.

I've googled this a lot and haven't gotten any solution that simply works.


I've looked at Mozilla XPCOM, but the file picker nsIFilePicker requires privilege escalation, which I just don't want to deal with.


I've tried using a regular

<input type="file" onclick="fileCheck(this); return false" . . . />

with

function fileCheck ()
{
  var path = obj.files[0].mozFullPath;
}

But even though you can see mozFullPath in Firebug, it does not show up for Javascript (ostensibly for security reasons).

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鸵鸟症 2024-12-31 18:33:01

出于明显的安全原因,你不能。

You can't, for blindingly obvious security reasons.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文