1
내 코드가있는 PHP 페이지에 PDF 파일을 업로드하려고합니다. 하지만 업로드 할 수있는 부분은 조금 있습니다. 파이어 폭스에서 열면 PDF가 손상되었다고합니다. 또한 a
의 값을 보면 파일의 일부일뿐입니다. 어떻게 해결할 수 있을까요?C Wininet File Upload with HTTP Post
char *getmem();
int main(int argc, char *argv[])
{
char *a = getmem();
printf ("%s\n",a);
HINTERNET hInet = InternetOpen(NULL, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
char frmdata[160000];
sprintf(frmdata,"-----------------------------acebdf13572468\r\nContent-Disposition: form-data; name=\"uploaded\"; filename=\"C:\\Users\\pen\\Desktop\\perltut.pdf\"\r\nContent-Type: application/pdf\r\n\r\n%s\r\n-----------------------------acebdf13572468--\r\n",a);
char *hdrs = "Content-Type: multipart/form-data; boundary=---------------------------acebdf13572468\nUser-Agent: aa";
MessageBox(0,a,a,1);
HINTERNET hConnect = InternetConnect(
hInet,
"host",
80,
NULL,
NULL,
INTERNET_SERVICE_HTTP,
0, 0
);
LPCSTR accept[2]={"*/*", NULL};
HINTERNET hRequest = HttpOpenRequest(
hConnect,
"POST",
"/path",
NULL, NULL, NULL, 0, 0
);
BOOL ret = HttpSendRequest(hRequest, hdrs,strlen(hdrs), frmdata, strlen(frmdata));
system("pause");
return 0;
}
char *getmem(){
FILE *fp;
long len;
char *buf;
fp=fopen("C:\\Users\\ff\\Desktop\\perltut.pdf","rb");
fseek(fp,0,SEEK_END);
len=ftell(fp);
fseek(fp,0,SEEK_SET);/
buf=(char *)malloc(len);
fread(buf,len,1,fp);/
fclose(fp);
return buf;
}