sterretje:
You can store the image in the memory of the Arduino. If it's small enough (a few K), it will probably fit in PROGMEM (depending on the size of the rest of the code).You still need to honour the different requests for the page and the image.
Right. The key point you're missing is that you must follow the Cclient / Server protocol. When the Client requests the main page, then your Server should send the HTML. When it requests the image, then stream the .jpg image. You must analyze the request and respond appropriately. The example code does that, yours doesn't.
The above is true regardless of where the data you're sending back resides -- SD Card, PROGMEM, RAM strings, etc. So, when the Client requests the image, stream it from the SD (if present). If the SD isn't there, stream a default image from PROGMEM.
Bottom line -- FOLLOW THE PROTOCOL!!!