我從sqlite數據庫檢索二進制數據,現在我有二進制數據指針(sqlite3_column_blob)。如何用C cgi腳本將這些數據輸出到客戶端?C cgi腳本從sqlite3_column_blob服務二進制文件指針
char *sql = "SELECT Data FROM Images WHERE Id = 1";
sqlite3_stmt *pStmt;
rc = sqlite3_prepare_v2(db, sql, -1, &pStmt, 0);
if (rc != SQLITE_OK) {
fprintf(stderr, "Failed to prepare statement\n");
fprintf(stderr, "Cannot open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
rc = sqlite3_step(pStmt);
int bytes = 0;
if (rc == SQLITE_ROW) {
bytes = sqlite3_column_bytes(pStmt, 0);
}
// >>>>next row is function to save file but I want output binary data to client<<<<
fwrite(sqlite3_column_blob(pStmt, 0), bytes, 1, fp);
你知道blob字段的真實格式嗎?因此,您可以將數據轉換爲預期結構併發送/顯示您想要的內容。 – LPs
你好! BLOB數據是一個jpeg圖像,所以我需要輸出到客戶端這些字節沒有轉換設置標題爲圖像/ jpeg。 –
你的客戶是什麼?一個簡單的接口,東西套接字連接... – LPs