Tatsächlich verfügt iOS über ein Dateisystem, und jede App erhält Zugriff auf einen Sandbox-Teil des Dateisystems.
Das iOS- "System" selbst verfügt über mehrere Programme, die direkt auf das Dateisystem zugreifen. Mobile Safari verhält sich jedoch eher wie eine eingeschränkte App, die bei iTunes gekauft wurde, als etwa als Springboard oder als App Store-App.
Uploads sind in iOS grundsätzlich nicht möglich. Mobile Safari liest nicht aus dem Adressbuch (was die meisten Sandbox-Apps standardmäßig können und wollen). Der Foto-Picker wird auch nicht zum Hochladen von Bildern oder Videos verwendet.
Downloads sind möglich, erfordern jedoch häufig eine Hilfs-App, um den Download zu speichern und zu verwenden. Safari verarbeitet MP3s, Streams und andere Medien selbst und lässt Sie den "Download" anhören oder ansehen. Sie können es nicht so speichern, wie es ein Computer zulässt, aber der Webserver glaubt, dass ein Download stattgefunden hat, und Safari lädt die Datei tatsächlich in den Cache herunter (wo sie verbleibt, bis der Cache voll ist und altert und gelöscht wird). Alle anderen Dateitypen werden behandelt, da iOS UTI- Dateidetektoren verwendet, um festzustellen , welche installierten Apps einen potenziellen Download verarbeiten können. (Das Entwicklerdokument, auf das ich verlinkt habe, enthält mehrere Absätze, die von jedem gelesen werden können, aber es taucht sehr schnell in die Minutien der Entwickler ein. Sie können sich also auf diesen Link verlassen, bevor die einfache Idee hinter UTI verwirrt wird.)
Wenn Safari feststellt, dass sich eine andere App für einen Download registriert hat, wird ein "Öffnen in Apptastic" angezeigt, um anzuzeigen, dass Mobile Safari diese Datei herunterlädt, sie jedoch an eine andere App weitergibt, um sie in der Sandbox dieser App zu speichern.
Safari verwendet einen System-API-Aufruf, damit iOS das Schreiben über Sandboxen hinweg ausführt.
Da Sie nach einer Zip-Datei gefragt haben, müssen Sie auf Ihrem iPad lediglich eine App finden, die iOS mitteilt, dass sie Zip-Dateien verarbeiten kann. Solange die SourceForge-Server genügend Daten für die mobile Safari senden, um eine Zip-Datei zu erkennen, können Sie sie herunterladen es über Ihre App. Die Rückfahrt ist schwieriger, Ihre ZIP-App kann eine Datei nicht wirklich zum Hochladen auf Safari übertragen. Ihre App muss so programmiert sein, dass sie sich direkt bei sourceforge anmeldet und die Upload-API selbst aufruft. (die technisch wahrscheinlich den mobilen Safari-Code / das Webkit verwenden, um einen http-Upload durchzuführen - aber das alles geschieht hinter den Kulissen, nicht in dem, was wir als mobile Safari mit dem blauen Kompasssymbol sehen und steuern)