| |
| |
| |
| |
|
|
| #include <string.h> |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <time.h> |
| #include <emscripten/fetch.h> |
|
|
| void success(emscripten_fetch_t *fetch) |
| { |
| printf("IDB store succeeded.\n"); |
| emscripten_fetch_close(fetch); |
| } |
|
|
| void failure(emscripten_fetch_t *fetch) |
| { |
| printf("IDB store failed.\n"); |
| emscripten_fetch_close(fetch); |
| } |
|
|
| void persistFileToIndexedDB(const char *outputFilename, uint8_t *data, size_t numBytes) |
| { |
| emscripten_fetch_attr_t attr; |
| emscripten_fetch_attr_init(&attr); |
| strcpy(attr.requestMethod, "EM_IDB_STORE"); |
| attr.attributes = EMSCRIPTEN_FETCH_REPLACE | EMSCRIPTEN_FETCH_PERSIST_FILE; |
| attr.requestData = (char *)data; |
| attr.requestDataSize = numBytes; |
| attr.onsuccess = success; |
| attr.onerror = failure; |
| emscripten_fetch(&attr, outputFilename); |
| } |
|
|
| int main() |
| { |
| |
| uint8_t *data = (uint8_t*)malloc(10240); |
| for(int i = 0; i < 10240; ++i) data[i] = (uint8_t)rand(); |
|
|
| persistFileToIndexedDB("outputfile.dat", data, 10240); |
| } |
|
|