将二进制数据从JavaScript画布发送到C和viceversa
我需要运行ACGIC程序来处理来自画布的JavaScript二进制数据,但我无法正确发送二进制数据。我做错了什么?你能帮助我吗?多谢各位 以下是JS代码:将二进制数据从JavaScript画布发送到C和viceversa,javascript,c,canvas,binary,cgi,Javascript,C,Canvas,Binary,Cgi,我需要运行ACGIC程序来处理来自画布的JavaScript二进制数据,但我无法正确发送二进制数据。我做错了什么?你能帮助我吗?多谢各位 以下是JS代码: imgData=ctx.getImageData(0,0,300,150); function submit() { httpRequest.open("POST", "/cgi-bin/transform.cgi", true); httpRequest.send(imgData.data.buffer); }
imgData=ctx.getImageData(0,0,300,150);
function submit() {
httpRequest.open("POST", "/cgi-bin/transform.cgi", true);
httpRequest.send(imgData.data.buffer);
}
function show(){
var myArray = new ArrayBuffer(imgData.data.length);
myArray=httpRequest.responseText;
var data = new Uint8ClampedArray(myArray);
imgData.data=data;
ctx.putImageData(imgData,0,0);
}
这是CGIC代码
#include <stdio.h>
#include "cgic.h"
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
void read();
int cgiMain() {
cgiHeaderContentType("text/html");
read();
return 0;
}
void read()
{
char *lenstr;
long len;
lenstr = getenv("CONTENT_LENGTH");
sscanf(lenstr,"%ld",&len);
unsigned char input[len+1];
fread (input,1,len,stdin);
for(int i = 0; i<len; i++)
printf("%u", input[i]);
}
#包括
#包括“cgic.h”
#包括
#包括
#包括
无效读取();
int cgiMain(){
cgiHeaderContentType(“文本/html”);
read();
返回0;
}
无效读取()
{
char*lenstr;
龙伦;
lenstr=getenv(“内容长度”);
sscanf(lenstr、%ld、&len);
无符号字符输入[len+1];
fread(输入,1,len,stdin);
对于(int i=0;i