Jump to content

Edit History

Caroline Harper

Caroline Harper

On iOS Safari, this is usually a response header issue, not the attachment itself.

First check that the download response is sending proper headers (especially Content-Type and Content-Disposition: attachment) and that nothing is output before the headers (no BOM, no extra spaces, no debug output). Even a small warning or whitespace can break the download of the iOS Emulator on Safari.

Also, make sure the controller is not returning the file through an iframe or with any HTML around it. iOS Safari is picky and often shows a blank page if it thinks it is “rendering” something instead of downloading it.

If you are using any override/module that touches the attachment controller, temporarily disable it and test with the default controller behavior. After that, clear PrestaShop cache and browser cache and retest on a real device.

If it still fails, it’s worth checking server rules (security modules, caching, compression) that may strip or alter download headers for that endpoint.

Caroline Harper

Caroline Harper

On iOS Safari, this is usually a response header issue, not the attachment itself.

First check that the download response is sending proper headers (especially Content-Type and Content-Disposition: attachment) and that nothing is output before the headers (no BOM, no extra spaces, no debug output). Even a small warning or whitespace can break downloads on Safari.

Also, make sure the controller is not returning the file through an iframe or with any HTML around it. iOS Safari is picky and often shows a blank page if it thinks it is “rendering” something instead of downloading it.

If you are using any override/module that touches the attachment controller, temporarily disable it and test with the default controller behavior. After that, clear PrestaShop cache and browser cache and retest on a real device.

If it still fails, it’s worth checking server rules (security modules, caching, compression) that may strip or alter download headers for that endpoint.

×
×
  • Create New...