我使用browerify在浏览器中使用this包。我创建了一个从服务器下载.fcs文件的phonegap应用程序。我的代码是:
var reader = new FileReader();
reader.onloadend = function(e){
var buffer = this.result;
var options = {};
var fcs = new FCS(options, buffer);
};
reader.readAsArrayBuffer(file);
问题是缓冲区的类型为ArrayBuffer,但FCS()需要一个缓冲区,它只在节点中可用,所以我会收到一个错误。在节点中,您可以执行以下操作:
var FS = require('fs');
FS.readFile(filename, function(err, databuf) {
var fcs = new FCS(options, databuf);
});
如何在浏览器中将远程文件读入节点缓冲区?
答案 0 :(得分:0)
您需要将Buffer模块用于浏览器。例如:https://github.com/feross/buffer
1)Browserify模块:
browserify -r buffer -r fcs -o bundle.js
2)简单测试:
<input type='file' onchange='openFile(event)'>
<script src="bundle.js"></script>
<script>
var Buffer = require('buffer').Buffer;
var FCS = require('fcs');
var openFile = function(event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var data = new Buffer( reader.result );
var fcs = new FCS({}, data);
console.log(fcs);
};
reader.readAsText(input.files[0]);
};
</script>