在JavaScript中传递txt文件作为参数

时间:2017-06-10 08:39:47

标签: javascript

我有以下代码:

function FileHandler() {

}

FileHandler.prototype.open = function(file) {
  var rawFile = new XMLHttpRequest();
  rawFile.open("GET", file, false);
};

当我尝试在控制台中运行它时,我可以将本地文件作为参数传递给文件吗?如果我想这样做,我会使用什么语法?

2 个答案:

答案 0 :(得分:0)

您可以使用异步功能。

   FileHandler.prototype.open = function(file, callback) {
   var rawFile = new XMLHttpRequest();
   rawFile.open("GET", file, false);
    rawFile.onreadystatechange = function() {
    if (rawFile.readyState == 4) {
        // The request is done; did it work?
        if (rawFile.status == 200) {
            // ***Yes, use `rawFile.responseText` here***
            callback(rawFile.responseText);
        } else {
            // ***No, tell the callback the call failed***
            callback(null);
        }
      }; 
    rawFile.open("GET", file, false);
    rawFile.send();
   };

答案 1 :(得分:0)

http://www.creativebloq.com/web-design/read-local-files-file-api-121518548

它显示了你如何做到这一点:

  

FileReader对象允许我们一次读取文件的内容   我们有一个来自用户的文件。为了安全起见,用户必须主动   给我们文件的引用,以使其可读。   有许多FileReader方法可以获取文件   内容

以下是如何使用它的示例:(来自网站的代码)

var reader = new FileReader();
//create our FileReader object to read the file

reader.addEventListener("load", fileRead, false);
//add an event listener for the onloaded event

function fileRead(event){
//called when the load event fires on the FileReader

var pictureURL = event.target.result;
//the target of the event is the FileReader object instance
//the result property of the FileReader contains the file contents
}

reader.readAsDataURL(file);
//when the file is loaded, fileRead will be called