html or javascript code to create a text file in h

2019-03-04 05:28发布

Please someone give me a code to create a text file in hard drive

Result should be a html file, when double click html file it need to create a text file in a given path in hard drive(local).

Thank you.

2条回答
倾城 Initia
2楼-- · 2019-03-04 05:52

Javascript in a regular HTML page in a browser is not allowed direct access to a path of your choice on the hard disk for security reasons.

The, somewhat experimental, FileSystem APIs in newer browsers offering some capabilities to a sandboxed file system, but you will have to see if your need can be satisfied with those APIs.

Other than that, you would need some way around the security limitations such as doing it from a browser plug-in that the viewer has authorized and installed.

查看更多
迷人小祖宗
3楼-- · 2019-03-04 05:57

Something tells me that you haven't enough experience to know that a web page cannot create a file in the user's space in the position you want.

Anyway, there is a way, but you can only create a file in a sandbox, i.e. a reserved and protected space assigned by the browser.

This is possible only in the most recent browsers like Chrome... and nothing else, for now.

First, you'll have to ask for some quota:

storageInfo.requestQuota(PERSISTENT, bytes, function(quota) {
   requestFileSystem(PERSISTENT, quota, gotQuota, errorHandler);
}, function(e) {
   alert("Couldn't request quota:" + e);
});

You'll have to define two callback functions: one for success (gotQuota) and one for failure (errorHandler).

function gotQuota(fs) {
    // Creates a file
    fs.root.getFile('file.txt', {create: true}, function(fileEntry) {
       fileEntry.createWriter(function(fw) {
           fileWriter.onwriteend = function(e) {
               console.log("Write successful.");
           };
           fileWriter.onerror = function(e) {
               console.log("Write failed: " + e);
           };
           fw.write(new Blob(["This is the content"], {type: "text/plain"});
       });
    }, errorHandler);
}

Man, it's complicated... Keep in mind that some of these function are vendor prefixed (e.g. webkitStorageInfo).

Reference.

查看更多
登录 后发表回答