2016-03-29 9 views
0

Ich baue eine mobile Webanwendung mit JQuery Mobile. Ich habe Bild hochladen in der Anwendung, wo ich auf Mobile Camera zugreifen, um Bilder zu machen und hochzuladen.jQuery mobile Bild später hochladen, wenn das Internet gut ist

Mein Problem ist, wenn ich Bild hochladen, Wenn mein Internet nicht gut ist, verliere ich die Bilder, die ich hochladen.

Code:

<form id="uploadimage" action="" method="post" enctype="multipart/form-data"> 
<input type="file" data-clear-btn="false" name="file" id="file" accept="image/*" capture> 
<input type="submit" value="Upload" class="submit" /> 
</form> 

Fragen:

  1. Gibt es eine Weise, die ich später Bild hochladen, wenn die Internetverbindung gut ist.?

  2. Gibt es eine Möglichkeit, das Bild zu speichern, indem Sie einen Ordner erstellen und später von diesem hochladen?

  3. Wie kann ich die Internetstärke mit "jQuery mobile" überprüfen und den Benutzer mit niedrigem Internetaufkommen auffordern, damit er später hochladen kann!

Oder

Gibt es eine andere Möglichkeit, es zu lösen?

Hinweis:

  • Meine Anwendung durch „Browser“ ausgewählt wurde, damit ich weiß, dass ich den Ordner zuzugreifen, beschränkte sich auf.

  • Bitte, rate mir nicht, eine APP zu erstellen, damit ich meine Lösung erreichen kann. Weil ich schon eine APP habe, die das dosiert. Aber wenige meiner Benutzer benötigen eine Webanwendung.

Antwort

1

Es ist nur eine Idee:

1) Sie können einen Timeout starten, wenn Sie versuchen, eine Datei zu laden:

var uploadTimeout= window.setTimeout(function() { 
     alert("upload is slow"); 
     // cancel upload and save in temp folder here 
    }, 1000); 

    $(document).on('load', function() { 
     window.clearTimeout(uploadTimeout); 
    }, false); 

2) Wenn es die Timeout-Absturz oder erreichen Sie verwenden können, lokaler Clientspeicher zum Speichern von Dateien auf der Clientseite: http://www.w3schools.com/html/html5_webstorage.asp

3) Während einige Dateien im localStorage versuchen, sie hochzuladen.

+0

Denkst du das .. Wir können Dateien aus Temp-Ordner zugreifen? – TomPHP

+0

kann der lokale Speicher die Bilder enthalten? Ich lese den Link von html5_webstorage .. Aber wie Sie wissen, dass ein einzelnes Bild in Samsung oder IOS Größe von 4-5MB variieren, aber meine Anwendung muss mehr als das speichern .. aber HTML5 kann 5Mb aber Daten allein speichern? – TomPHP

+0

Sie haben Recht Html5 Speicher ist auf 10MB pro Herkunft begrenzt (in Chrom). Sie sollten das Bild vor dem Speichern auf der Client-Seite komprimieren. In unseren Apps spielen wir vor dem Hochladen mit einer Leinwand. (etwas wie das http://stackoverflow.com/a/6752580/5703316) –

Verwandte Themen