如何使用JavaScript / JQuery在客户端本地创建文本文件 [英] How to Create a Text File Locally at client side using JavaScript/JQuery

查看:118
本文介绍了如何使用JavaScript / JQuery在客户端本地创建文本文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望使用javascript / jquery在我的系统上本地创建一个文本文件。



我正在尝试此代码,但不能在我的系统上运行。



机器:Ubuntu 10.4
Chrome:14.0.835.126

 窗口.webkitRequestFileSystem(window.TEMPORARY,1024 * 1024,function(fs){
fs.root.getFile('〜/ Desktop / test.txt',{create:true},function(fileEntry){
alert(fileEntry.fullPath); //获取文件路径
},function(){});
},function(){});


解决方案



  chrome.browserAction.onClicked.addListener(createFile); 
createFile();
$ b函数createFile()
{
chrome.tabs.getSelected(null,function(tab){
window.webkitRequestFileSystem(window.TEMPORARY,1024 * 1024,函数(fs){
fs.root.getFile('test',{create:true},function(fileEntry){
fileEntry.createWriter(function(fileWriter){
var builder =新的WebKitBlobBuilder();
builder.append(Saurabh);
builder.append(\\\
);
builder.append(Saxena);

var blob = builder.getBlob('text / plain');

fileWriter.onwriteend = function(){
chrome.tabs.create({url:fileEntry .toURL(),selected:true},function(tab){});
};
fileWriter.write(blob);
},errorHandler);
},errorHandler);
},errorHandler);
});
}
函数errorHandler(e){
var msg ='';

switch(e.code){
case FileError.QUOTA_EXCEEDED_ERR:
msg ='QUOTA_EXCEEDED_ERR';
休息;
case FileError.NOT_FOUND_ERR:
msg ='NOT_FOUND_ERR';
休息;
case FileError.SECURITY_ERR:
msg ='SECURITY_ERR';
休息;
case FileError.INVALID_MODIFICATION_ERR:
msg ='INVALID_MODIFICATION_ERR';
休息;
case FileError.INVALID_STATE_ERR:
msg ='INVALID_STATE_ERR';
休息;
默认值:
msg ='未知错误';
休息;
};

Console.Log('Error:'+ msg);
}

由于安全例外,我无法在本地系统上创建/修改文件。但是在这段代码中,我实际上是在一个目录中创建一个文件,该目录是为Google Chrome临时文件分配的,然后将该文件下载到我的下载文件夹中。



这是Chrome扩展程序弹出页面的代码。

:)


I wish to create a text file locally on my system using javascript/jquery.

I am trying this code, but not working on my system.

Machine : Ubuntu 10.4 Chrome : 14.0.835.126

window.webkitRequestFileSystem(window.TEMPORARY, 1024*1024, function(fs) {
        fs.root.getFile('~/Desktop/test.txt', {create: true}, function(fileEntry) {
            alert(fileEntry.fullPath);   //getting filepath
        }, function() {});
    }, function() {});

解决方案

This is a little tricky but working

chrome.browserAction.onClicked.addListener(createFile);
createFile();

function createFile()
{
    chrome.tabs.getSelected(null, function(tab) {
        window.webkitRequestFileSystem(window.TEMPORARY, 1024*1024, function(fs) {
            fs.root.getFile('test', {create: true}, function(fileEntry) {
                fileEntry.createWriter(function(fileWriter) {
                    var builder = new WebKitBlobBuilder();
                    builder.append("Saurabh");
                    builder.append("\n");
                    builder.append("Saxena");

                    var blob = builder.getBlob('text/plain');

                    fileWriter.onwriteend = function() {
                        chrome.tabs.create({"url":fileEntry.toURL(),"selected":true},function(tab){});
                    };
                    fileWriter.write(blob);
                }, errorHandler);
            }, errorHandler);
        }, errorHandler);
    });
}
function errorHandler(e) {
  var msg = '';

  switch (e.code) {
    case FileError.QUOTA_EXCEEDED_ERR:
      msg = 'QUOTA_EXCEEDED_ERR';
      break;
    case FileError.NOT_FOUND_ERR:
      msg = 'NOT_FOUND_ERR';
      break;
    case FileError.SECURITY_ERR:
      msg = 'SECURITY_ERR';
      break;
    case FileError.INVALID_MODIFICATION_ERR:
      msg = 'INVALID_MODIFICATION_ERR';
      break;
    case FileError.INVALID_STATE_ERR:
      msg = 'INVALID_STATE_ERR';
      break;
    default:
      msg = 'Unknown Error';
      break;
  };

  Console.Log('Error: ' + msg);
}

Because of the Security Exceptions, i cannot create/modify a file on Local System. But in this code, I am actually creating a file in a directory which is allocated for Google Chrome Temporary Files and then downloading that file into my Downloads Folder.

This is the code of the popup page of a Chrome Extension.

:)

这篇关于如何使用JavaScript / JQuery在客户端本地创建文本文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆