在C語言中,使用JSON格式傳輸圖片是一種常用的方式。通過JSON傳輸圖片,可以獲得更好的數據壓縮和處理效率。
#include#include #include "cJSON.h" int main() { // 讀取圖片 FILE *fp = fopen("test.jpg", "rb"); if (fp == NULL) { perror("Failed to open file"); exit(1); } // 獲取文件大小 fseek(fp, 0L, SEEK_END); int fileSize = ftell(fp); rewind(fp); // 讀取文件內容 char *fileData = malloc(fileSize); fread(fileData, fileSize, 1, fp); // 關閉文件 fclose(fp); // 將圖片轉換成base64字符串 char *base64Data = base64_encode(fileData, fileSize); // 創建JSON數據 cJSON *jsonObject = cJSON_CreateObject(); cJSON_AddItemToObject(jsonObject, "image_data", cJSON_CreateString(base64Data)); // 打印JSON字符串 char *jsonData = cJSON_PrintUnformatted(jsonObject); printf("%s\n", jsonData); // 釋放內存 free(fileData); free(base64Data); free(jsonData); cJSON_Delete(jsonObject); return 0; }
上面代碼中,我們首先讀取了一個測試用的JPEG圖片,然后獲取圖片的大小,用base64編碼轉換成字符串,最終將圖片數據存儲到JSON對象中并打印出來。
使用JSON格式傳輸圖片,不僅可以實現數據壓縮,還能夠保證數據在不同平臺間的兼容性,因此是一種非常實用的方式。