Herunterladen und Hochladen von Dateien über Safari iOS

9

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)?

r_honey
quelle
Bitte beachten Sie, dass es sich bei dieser Frage um iOS 5 und vor dem Verhalten handelt. Jetzt erweitert iOS 6 die Möglichkeit, Bilder in Textfelder hochzuladen. Mit der Zeit kann diese Antwort nur als Dokumentation dafür dienen, wie die Dinge waren und nicht wie sie bei oder nach iOS 6.0 sind.
bmike

Antworten:

8

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)

bmike
quelle
7

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.

Gerry
quelle
1
+1 wollte gerade genau die gleiche Antwort geben, aber Sie haben vor mir auf "Senden" geklickt. Evernote ist eine weitere App, die sich für solche Downloads registriert.
Jmlumpkin
Bitte fügen Sie eine Referenz hinzu oder entfernen Sie die Zeile über Jailbreaking. Meines Wissens kann das Verhalten von Mobile Safari nicht geändert werden, um das direkte Herunterladen oder Hochladen einer Datei zu ermöglichen.
Zumindest in der Vergangenheit gab es Plugins für Mobile Safari auf iPhones mit Jailbreak, um Downloads zu ermöglichen. Ich spreche nicht aus Erfahrung, aber ich denke, es ist erwähnenswert, und Google liefert einige, wenn auch möglicherweise veraltete Ergebnisse.
Gerry
+1. Dropbox ist eine große Hilfe für Dateien, die Safari sonst nicht unterstützt. Wenn Sie Dateien in Ihrem öffentlichen Dropbox-Verzeichnis speichern, erhalten Sie Links zu diesen, was in einigen Fällen hilfreich sein kann, auch wenn es sich nicht um einen direkten Upload handelt.
Robmathers