2017-10-17 2 views
0

Ich versuche derzeit, eine Shiny-Seite mit der fileInput einrichten und Benutzer können nach ein paar einfache Manipulation ihrer eigenen Datei herunterladen.Wie zu vermeiden, shinyapp reloading

Das Hochladen großer Dateien dauert manchmal mehr als eine Minute, so dass das Neuladen der Seite (trennen vom Server) die Verarbeitung der Datei aufhebt, bevor Benutzer sie herunterladen können.

Ich setze session$allowReconnect(TRUE) aber Re-Connect wird nicht die Datei natürlich behalten. Hat jemand eine Lösung dafür? Vielen Dank!

Antwort

0

Ich nehme an, dass der Benutzer, der getrennt wird, kein reguläres Ereignis ist. Wenn dies der Fall ist, liegt möglicherweise ein Fehler im Code vor, der die Datei zum Herunterladen generiert.

Sie könnten die Datei als ersten Schritt auf die Festplatte schreiben und dann abfragen, ob die Datei existiert, damit der Benutzer sie herunterladen kann. Dies kann erfordern, dass jeder Benutzer seinen eigenen Ergebnisordner hat, in dem er gespeichert wird, oder jede Datei eine eindeutige ID hat, die dem Benutzer zugeordnet ist, um beispielsweise eine gegenseitige Kontamination zwischen Benutzern zu vermeiden.

+0

Hallo, vielen Dank für Ihre Antwort. Ich stellte dann fest, dass die Trennung immer dann auftritt, wenn der Server mit der Verarbeitung von Dateien mit einer Größe von mehr als 40 MB beginnt. Und es scheint, dass es kein Problem beim Hochladen von Dateien gibt, und Dateien mit kleineren Größen (z. B. 20 MB) funktionieren alle gut (Verarbeitung und Download). Ich frage mich, dass es eine Einschränkung aufgrund des freien Plans ist. –

+0

Ich weiß, dass es eine maximale Dateigröße für das Hochladen gibt, aber das ist festgelegt (und kann in einer glänzenden Server-Konfigurationsdatei geändert werden). Vielleicht suchen Sie das? Ich denke, der Standardwert ist 5 MB – michael