javascript - 在 JavaScript 中导入二进制日志文件

标签 javascript binary-data

我正在一个全功能的 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/

相关文章:

javascript - AngularJs - ngRepeat 需要很长时间才能显示数据

python - 从二进制数据中识别没有扩展名的文件类型

go - 在 Go 中使用元编程解析网络协议(protocol)

javascript - 通过 Javascript 将二进制数据下载为文件

javascript - 变量在定义之前被使用

javascript - 使用带或不带 [end] 参数的 slice()

javascript - 购物车 : Sum on drop event (JQuery)

javascript - 如何将 &lt;script&gt; 中的数组从 JSP 页面传递到 Servlet

php - 使用 cURL 发送原始二进制文件和数据

c - 表示结构缓冲区的有效且不易出错的方法?