我正在一个全功能的 LAMP 服务器上创建一个数据记录器(实际上它是带有 Debian 的 beaglebone)。我想将这些数据导入客户端 JavaScript 以制作一些漂亮的绘图等。
为了创建日志文件,我每秒在 cronjob 中运行以下 ANSI C 程序:
struct md
{
unsigned long int time;
int ch0;
int ch1;
int ch2;
};
int main ()
{
struct md mydata;
/* assign values to mydata */
FILE *fp0=fopen("out.bin","ab");
fwrite(&mydata, sizeof(struct md), 1, fp0);
fclose(fp0);
exit (0);
}
正如您可能猜到的那样,文件 out.bin 很快就会变得相当大。这就是为什么我不想将其存储为 ASCII。
我确信,有一个简单的方法可以做到这一点,但我没有找到解决方案......
顺便说一句,我知道字节序问题。
最佳答案
您仍然需要向服务器上的文件发出 ajax 请求。
var oReq = new XMLHttpRequest();
oReq.open("GET", "/myfile.png", true);
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
var arrayBuffer = oReq.response; // Note: not oReq.responseText
if (arrayBuffer) {
var byteArray = new Uint8Array(arrayBuffer);
for (var i = 0; i < byteArray.byteLength; i++) {
// do something with each byte in the array
}
}
};
oReq.send(null);
This document on mdn会对你有帮助。
关于javascript - 在 JavaScript 中导入二进制日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21537304/