|
@@ -242,33 +242,33 @@ websDefineAction("resetBmc", resetBmc);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-typedef struct{
|
|
|
|
- char buf[1024*1000];
|
|
|
|
- char filename[32];
|
|
|
|
- int fileSize;
|
|
|
|
-} filestruct;
|
|
|
|
-
|
|
|
|
-//这个函数是把16进制字符串转换成16进制
|
|
|
|
-
|
|
|
|
-int StringToHex(char *str, unsigned char *out, unsigned int *outlen)
|
|
|
|
-{
|
|
|
|
- char *p = str;
|
|
|
|
- char high = 0, low = 0;
|
|
|
|
- int tmplen = strlen(p), cnt = 0;
|
|
|
|
- tmplen = strlen(p);
|
|
|
|
- while(cnt < (tmplen / 2))
|
|
|
|
- {
|
|
|
|
- high = ((*p > '9') && ((*p <= 'F') || (*p <= 'f'))) ? *p - 48 - 7 : *p - 48;
|
|
|
|
- low = (*(++ p) > '9' && ((*p <= 'F') || (*p <= 'f'))) ? *(p) - 48 - 7 : *(p) - 48;
|
|
|
|
- out[cnt] = ((high & 0x0f) << 4 | (low & 0x0f));
|
|
|
|
- p ++;
|
|
|
|
- cnt ++;
|
|
|
|
- }
|
|
|
|
- if(tmplen % 2 != 0) out[cnt] = ((*p > '9') && ((*p <= 'F') || (*p <= 'f'))) ? *p - 48 - 7 : *p - 48;
|
|
|
|
|
|
+// typedef struct{
|
|
|
|
+// char buf[1024*1000];
|
|
|
|
+// char filename[32];
|
|
|
|
+// int fileSize;
|
|
|
|
+// } filestruct;
|
|
|
|
+
|
|
|
|
+// //这个函数是把16进制字符串转换成16进制
|
|
|
|
+
|
|
|
|
+// int StringToHex(char *str, unsigned char *out, unsigned int *outlen)
|
|
|
|
+// {
|
|
|
|
+// char *p = str;
|
|
|
|
+// char high = 0, low = 0;
|
|
|
|
+// int tmplen = strlen(p), cnt = 0;
|
|
|
|
+// tmplen = strlen(p);
|
|
|
|
+// while(cnt < (tmplen / 2))
|
|
|
|
+// {
|
|
|
|
+// high = ((*p > '9') && ((*p <= 'F') || (*p <= 'f'))) ? *p - 48 - 7 : *p - 48;
|
|
|
|
+// low = (*(++ p) > '9' && ((*p <= 'F') || (*p <= 'f'))) ? *(p) - 48 - 7 : *(p) - 48;
|
|
|
|
+// out[cnt] = ((high & 0x0f) << 4 | (low & 0x0f));
|
|
|
|
+// p ++;
|
|
|
|
+// cnt ++;
|
|
|
|
+// }
|
|
|
|
+// if(tmplen % 2 != 0) out[cnt] = ((*p > '9') && ((*p <= 'F') || (*p <= 'f'))) ? *p - 48 - 7 : *p - 48;
|
|
|
|
|
|
- if(outlen != NULL) *outlen = tmplen / 2 + tmplen % 2;
|
|
|
|
- return tmplen / 2 + tmplen % 2;
|
|
|
|
-}
|
|
|
|
|
|
+// if(outlen != NULL) *outlen = tmplen / 2 + tmplen % 2;
|
|
|
|
+// return tmplen / 2 + tmplen % 2;
|
|
|
|
+// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -277,55 +277,6 @@ static void uploadTest(Webs *wp)
|
|
WebsKey *s;
|
|
WebsKey *s;
|
|
WebsUpload *up;
|
|
WebsUpload *up;
|
|
char *upfile;
|
|
char *upfile;
|
|
-
|
|
|
|
- printf("---> Enter uploadTest\n");
|
|
|
|
- // filestruct fileitem;
|
|
|
|
- // char *bufStr, *md5, *filename;
|
|
|
|
- // bufStr = websGetVar(wp, "bufStr", NULL);
|
|
|
|
- // md5 = websGetVar(wp, "md5", NULL);
|
|
|
|
- // filename = websGetVar(wp, "filename", NULL);
|
|
|
|
-
|
|
|
|
- // char* jsonString=wp->input.servp;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- // cJSON *root1 = cJSON_Parse(jsonString);
|
|
|
|
- // cJSON *bufItem=cJSON_GetObjectItem(root1,"bufStr");
|
|
|
|
- // cJSON *filenameItem=cJSON_GetObjectItem(root1,"filename");
|
|
|
|
- // cJSON *fileSizeItem=cJSON_GetObjectItem(root1,"fileSize");
|
|
|
|
- // fileitem.fileSize = fileSizeItem->valueint;
|
|
|
|
-
|
|
|
|
- // memcpy(fileitem.buf, bufItem->valuestring, fileitem.fileSize);
|
|
|
|
-
|
|
|
|
- // memcpy(fileitem.filename, filenameItem->valuestring,strlen(filenameItem->valuestring));
|
|
|
|
- // int outlen = 0;
|
|
|
|
- // unsigned char hexStr[fileitem.fileSize];
|
|
|
|
- // StringToHex(fileitem.buf, hexStr, &outlen);
|
|
|
|
- // printf("<<<<<<<<come jsonString 1>>>>>>>>%s>>>>>>>>>>\n", hexStr);
|
|
|
|
- // printf("<<<<<<<<come jsonString >2>>>>>>>%s>>>>>>>>>>\n", jsonString);
|
|
|
|
- // printf("<<<<<<<<come jsonString >3>>>>>>>%s>>>>>>>>>>\n", fileitem.buf);
|
|
|
|
- // printf("<<<<<<<<come infilename >>4>>>>>>%s>>>>>>>>>>\n", fileitem.filename);
|
|
|
|
- // // printf("<<<<<<<<come md5 >>>>>>>>%s>>>>>>>>>>\n", md5);
|
|
|
|
- // // printf("<<<<<<<<come bufStr >>>>>>>>%s>>>>>>>>>>\n", bufStr);
|
|
|
|
-
|
|
|
|
- // int i;
|
|
|
|
- // printf("---> buf: ");
|
|
|
|
- // for (i = 0; i < fileitem.fileSize; ++i)
|
|
|
|
- // {
|
|
|
|
- // printf("%#x ", fileitem.buf[i]);
|
|
|
|
- // }
|
|
|
|
- // printf("\n");
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- // // zheli
|
|
|
|
- // // char buf[] = "hello jimbo"; //把这个换成你的buf, 试试 应该不行
|
|
|
|
- // FILE *fp;
|
|
|
|
- // char pathStr[100] = {0};
|
|
|
|
- // sprintf(pathStr, "/var/www/goahead/%s", fileitem.filename);
|
|
|
|
- // fp = fopen(pathStr , "wb+");//wb+是什么?二进制写,没有文件就创建,有就覆盖
|
|
|
|
- // fwrite ( hexStr, sizeof(char), fileitem.fileSize, fp);
|
|
|
|
- // fclose(fp);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
websSetStatus(wp, 200);
|
|
websSetStatus(wp, 200);
|
|
websWriteHeaders(wp, -1, 0);
|
|
websWriteHeaders(wp, -1, 0);
|
|
websWriteHeader(wp, "Content-Type", "text/plain");
|
|
websWriteHeader(wp, "Content-Type", "text/plain");
|
|
@@ -339,7 +290,7 @@ static void uploadTest(Webs *wp)
|
|
websWrite(wp, "TYPE=%s\r\n", up->contentType);
|
|
websWrite(wp, "TYPE=%s\r\n", up->contentType);
|
|
websWrite(wp, "SIZE=%d\r\n", up->size);
|
|
websWrite(wp, "SIZE=%d\r\n", up->size);
|
|
upfile = sfmt("%s/tmp/%s", websGetDocuments(), up->clientFilename);
|
|
upfile = sfmt("%s/tmp/%s", websGetDocuments(), up->clientFilename);
|
|
- printf("---> uploadTest, upfile: %s\n", upfile);
|
|
|
|
|
|
+ printf("<<<<<<<<<<<%s>>>>>>>>>>\n", upfile);
|
|
if (rename(up->filename, upfile) < 0) {
|
|
if (rename(up->filename, upfile) < 0) {
|
|
error("Cannot rename uploaded file: %s to %s, errno %d", up->filename, upfile, errno);
|
|
error("Cannot rename uploaded file: %s to %s, errno %d", up->filename, upfile, errno);
|
|
}
|
|
}
|