What's the best-practice for allowing a user to download a full-res large photo files from my website to their iPhone?

120 Views Asked by At

I run a website that sells photos. Too often I get an enquiry from an iPhone user saying that after downloading their photo they now can't find where it is on their device. I tell them this:

You're probably find them in your Files app, probably in one of these folders: Recents, Downloads or Chrome.

Normally that does the trick, but not always. And I'd love to make it more intuitive, so people stop asking me this question!

What's the answer? Should I just be opening the photo up in the browser instead (even though it could be 20MB or more) and rely on them knowing to long-press (or whatever) to get the "Save photo" dialogue?

Or is there a better way, some way to show them a prompt asking where they'd like the downloaded file to go to?

The script which currently kicks off the download does so using these two headers, and then outputting the jpeg stream:

header('Content-Type: image/jpeg');
header('Content-Disposition: attachment; filename="domain-photo-id-123456.jpg');

I do have access to an iPhone for testing, but I don't use one regularly so I don't know if I'm missing an obvious trick/methodology.

I note that android users never have any issue

Thanks

1

There are 1 best solutions below

0
Neklas On

Because of special file/folder management rule of iOS, so the best method is to make a dedicated and simple iOS with Authentication.

Just to allow users can see their purchased images and download them then save them to the Photos app (the Gallery) or just keep in iOS app's Document folder.

Here are some alternative ways:

  • Share the download link by open iOS share sheet: https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share
  • Create a email to user's email with content is download link: <a href="mailto:[email protected]?subject=look at this website&body=Hi,I found this website and thought you might like it http://www.geocities.com/wowhtml/">tell a friend</a>. Ex: U can show a inside a popup to ask u to enter their email to get download link.