| // Copyright 2016 The Emscripten Authors. All rights reserved. |
| // Emscripten is available under two separate licenses, the MIT license and the |
| // University of Illinois/NCSA Open Source License. Both these licenses can be |
| // found in the LICENSE file. |
| |
| #include <stdio.h> |
| #include <string.h> |
| #include <stdlib.h> |
| #include <emscripten/fetch.h> |
| |
| void downloadSucceeded(emscripten_fetch_t *fetch) { |
| printf("Finished downloading %llu bytes from URL %s.\n", fetch->numBytes, fetch->url); |
| // The data is now available at fetch->data[0] through |
| // fetch->data[fetch->numBytes-1]; |
| emscripten_fetch_close(fetch); // Free data associated with the fetch. |
| } |
| |
| void downloadFailed(emscripten_fetch_t *fetch) { |
| printf("Downloading %s failed, HTTP failure status code: %d.\n", fetch->url, fetch->status); |
| emscripten_fetch_close(fetch); // Also free data on failure. |
| exit(1); |
| } |
| |
| int main() { |
| emscripten_fetch_attr_t attr; |
| emscripten_fetch_attr_init(&attr); |
| strcpy(attr.requestMethod, "GET"); |
| attr.attributes = EMSCRIPTEN_FETCH_LOAD_TO_MEMORY | EMSCRIPTEN_FETCH_PERSIST_FILE; |
| attr.onsuccess = downloadSucceeded; |
| attr.onerror = downloadFailed; |
| emscripten_fetch(&attr, "myfile.dat"); |
| } |