Mir ist bewusst, dass das iPad kein Dateisystem im herkömmlichen Sinne hat.
Ich möchte wissen, wie sich Safari für iOS verhält, wenn versucht wird, Dateien von / auf eine Website herunterzuladen / hochzuladen.
Angenommen, ich gehe zu sourceforge.net und klicke auf einen Link, um die Zip-Datei herunterzuladen. Würde Safari es herunterladen? Wenn ja, wo wird es gespeichert und wie kann ich darauf zugreifen (ohne iTunes zu verwenden, um es zuerst auf einen PC zu verschieben).
Ermöglicht Safari unter iOS das Herunterladen nur einiger Dateien und das Ablehnen anderer Dateien oder das Herunterladen aller Dateien oder das Ablehnen aller Dateien?
Wenn sich eine Webseite über ein Steuerelement zum Hochladen von Dateien verfügt (Eingabetyp = "Datei"), wie verhält sich Safari (würde das Hochladen zulassen, das Hochladen nur auf einigen Websites zulassen oder das Download-Steuerelement funktioniert überhaupt nicht)?
quelle
Antworten:
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)
quelle
Mobile Safari selbst kann keine Dateien für Sie speichern (ohne Jailbreak). Einige Apps wie Dropbox registrieren sich jedoch bei Safari und ermöglichen eine eingeschränkte Unterstützung für einige Dateitypen.
Dateieingaben sind in Mobile Safari nur deaktiviert / ausgegraut.
quelle