tryfetch.lpr 697 B

12345678910111213141516171819202122232425262728293031323334
  1. program tryfetch;
  2. {$mode objfpc}
  3. uses
  4. browserconsole, JS, Web, SysUtils;
  5. procedure myFetch; async;
  6. var
  7. response: TJSResponse;
  8. myBlob: TJSBlob;
  9. image: TJSHTMLImageElement;
  10. objectURL: string;
  11. begin
  12. try
  13. response := await(window.fetch('pas2js.png'));
  14. if not response.ok then
  15. raise Exception.Create('HTTP error! status: '+str(response.status))
  16. else begin
  17. myBlob := await(response.blob());
  18. objectURL := TJSURL.createObjectURL(myBlob);
  19. image := TJSHTMLImageElement(document.createElement('img'));
  20. image.src := objectURL;
  21. document.body.appendChild(image);
  22. end;
  23. except
  24. console.log(JSExceptValue);
  25. end;
  26. end;
  27. begin
  28. myFetch;
  29. end.