Direkte Datei herunterladen vs Lesen einer Datei zurück als Download
-
21-09-2019 - |
Frage
Gibt es einen Unterschied zwischen dem Erstellen eines direkten Links zu einer Datei auf einem Server und dem Lesen der Datei von einem Speicherort und dem Einstellen des Headers des Inhaltstyps und dann die Daten zurück.
Ich bin neugierig, weil ich einen Webserver habe, mit dem ich Apps auf ein Blackberry herunterlädt. Wenn ich eine Datei erstelle und einen direkten Link zu dieser Datei habe, funktioniert es. Wenn ich sie jedoch mit einer Webseite wieder streamen Arbeit. Das Telefon erhält die Datei, funktioniert aber nicht.
Dinge zu beachten:
- URLs sind in beiden Fällen gleich, dh ((http://somesit.com/download/file.jad)
- In einem Browser mit Fiddler sind die Downloads/Header genau das gleiche Byte für Byte
Warum würde das Telefon also eine Datei bevorzugen, die tatsächlich ein direkter Link gegen einen ist, der ein Controller ist, der die Daten wieder streamiert, wenn die Daten übertragen und die URL identisch sind?
Lösung 2
Ich habe eine Lösung für dieses Problem entdeckt, obwohl ich mich immer noch nicht sicher bin, was es verursacht. Ich habe den Link zum Telefon über das SMS/E -Mail -Gateway zum Telefon geliefert. Wenn das Telefon die SMS erhält und ich den Link zum Download auswähle, fragt es, ob ich den Jad bekommen möchte, den ich auf Ja geklebt habe und er zeigt sich und kommt aus. Ich habe genau den gleichen Link auf einer anderen Seite als HTML -Link gesetzt und eine SMS auf diese Seite gesendet. Die Website macht einen Fehler. Deshalb habe ich den Link kopiert und in den Phones -Browser eingefügt, und die Seite wird gut angezeigt. Ich klicke auf den Jad -Download -Link auf der Seite und jetzt funktioniert der JAD einwandfrei.
Ich denke also, dass zwei Dinge entweder einen Sicherheitsmechanismus gibt, der direkte Links in SMS verhindert (aber dies hat für andere Dateien funktioniert) oder die Art und Weise, wie das Telefon die URL erhält, ist anders.
Ich habe einige Tests durchgeführt und etwas anderes bemerkt, auf einer Seite, die einen ID -Wert akzeptiert (Werthttp://site.com/download/145) wobei 145 eine ID für eine Datei ist, wenn Sie in einem Telefonbrowser zu diesem Link gehen, funktioniert sie gut und lädt die Datei herunter. Wenn Sie es in einem SMS senden, sagen die Serverfehler, dass die ID ein Float sein wird und eine Zeichenfolge erhalten wird. Warum sind die URL -Parameter, wenn das Telefon direkt von SMS links links, Strings, wenn sie in einem Browser verwendet werden, tatsächlich als Schwimmer analysiert?
Entschuldigung für die langwierige Erklärung, aber es ist ein seltsames Problem.
Andere Tipps
Die .JAD -Datei ist nur der erste Teil des Downloads - es sind auch die .COD -Dateien zugeordnet (im JAD verwiesen). Haben Sie sichergestellt, dass Ihre "Streaming" -Methode die COD -Datei korrekt und mit den richtigen MIME -Typen zurücksendet?