最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

How to get the contents of a *user-selected* *local* file in javascript without any posts, gets, submits, etc - Stack Overflow

matteradmin9PV0评论

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 pletely 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 plain.

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?

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 pletely 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 plain.

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?

Share Improve this question asked Jan 3, 2012 at 17:05 kovacsbvkovacsbv 3514 silver badges11 bronze badges 1
  • I found it interesting you can get a preview/data merely by selecting a png. Not sure if this is of relevence, but it is interesting: blueimp.github./jQuery-File-Upload – NibblyPig Commented Jan 3, 2012 at 17:47
Add a ment  | 

2 Answers 2

Reset to default 9

You can; have a look at HTML5 Rocks - Reading local files in JavaScript.

You can't, for blindingly obvious security reasons.

Post a comment

comment list (0)

  1. No comments so far