开发者

is it possible to read a file using javascript?

开发者 https://www.devze.com 2023-02-11 05:34 出处:网络
Hi all i just want to know if we can read a file using javascript like what we do fp=(\"r\",\"path\")

Hi all i just want to know if we can read a file using javascript like

what we do

fp=("r","path")

like th开发者_高级运维at is it possible?


No, that's not possible in a browser. Javascript runs in a sandboxed environment and doesn't have access to the file system. You might need to special plugins to be installed on the client browser in order to access his file system.


Yes, this is possible, even in some browsers.

Reading a local file, from a browser

If the browser supports the new File API, you can read any file the user gives you permission to read via an input[type=file] element. Specification | Example here on StackOverflow

Read a server file, from a browser

This can be done on all major browsers using "ajax", more specifically the XMLHttpRequest object. It's made a lot easier by libraries like jQuery, Prototype, YUI, Closure, or any of several others.

On a server, workstation, etc. (not in a browser)

You'll need an environment that provides file reading, such as NodeJS.


Firstly I think its not a good idea to read a file locally with JavaScript. I recommend first upload it to the server and then perform the reading.

Having said that it is possible, but you restricted by what you can do.

Im assuming its a local file on the user machine, otherwise AJAX would achieve this for a server read.

It might be possible through

  1. Windows Script Host Object Model(WScript.Shell) and when granted Prompt or Enable access to ActiveX the browser has elevated privileges (Enable through Tools > Internet Options > Security > Custom Level ... > Set Active X settings to prompt). If this is still to difficult, user could download something thats installed and then does the reading through Shell Scripting! Disclaimer: Note I do not recommend this approach. Its not active for a reason and its so DIRTY (I feel dirty)!

  2. Cookies might also be worth considering. If you can store the information in a cookie the JavaScript would be able to read, write and update it.

    Found this code from http://www.quirksmode.org/js/cookies.html scroll right to the bottom for the example.

    function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
    

    }

    function readCookie(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        }
        return null;
    }
    
    function eraseCookie(name) {
        createCookie(name,"",-1);
    }
    


Reading from client: how to read a text file using Javascript

Reading from server: jquery - Read a text file?


Reading client files in javascript is possible with the new File API available in modern browsers. Check this site and its code: http://www.readfileonline.com/


You can but then you have to use AJAX, which is Javascript for server side jobs.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号