C語言中使用JSON傳輸圖片需要將圖片轉換成二進制數據流,然后將數據流經過Base64編碼后再打包成JSON數據格式進行傳輸。
#include#include #include #include "cJSON.h" //讀取文件并轉換為Base64 char* readFileToBase64(char *filePath){ FILE *fp = fopen(filePath, "rb"); if (fp == NULL){ return NULL; } fseek(fp, 0, SEEK_END); int fileSize = ftell(fp); fseek(fp, 0, SEEK_SET); char* buffer = (char*)malloc(fileSize); if (buffer == NULL){ fclose(fp); return NULL; } memset(buffer, 0, fileSize); fread(buffer, 1, fileSize, fp); fclose(fp); char *base64Data = base64_encode((const unsigned char*)buffer, fileSize); free(buffer); return base64Data; } //主函數 int main(){ //讀取圖片文件,并轉換為Base64編碼 char *base64Data = readFileToBase64("test.jpg"); if (base64Data == NULL){ printf("讀取文件錯誤\n"); return -1; } //生成JSON數據 cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "type", "image"); cJSON_AddStringToObject(root, "base64Data", base64Data); //釋放內存 cJSON_Delete(root); free(base64Data); return 0; }
以上是C語言中使用JSON傳輸圖片的簡要介紹,可以根據實際需求進行代碼編寫。
上一篇mysql讀取順序怎么看
下一篇vue $ajax