Ich lade eine Datei unter Servlet
hoch, führe die erforderlichen Operationen für diese Datei durch und lade dann diese verarbeitete Datei auf den Client herunter.So verhindern Sie, dass mehrere Benutzer auf dieselbe Datei zugreifen
Ich habe zwei Formen multipart/form-data
. Der erste verwendet die post-Methode, um Dateien hochzuladen. Der zweite verwendet die Methode get, um die Datei herunterzuladen.
DoPost()
-> Der Benutzer wählt die Datei aus und lädt sie hoch. Diese Datei wird am angegebenen Speicherort verarbeitet und gespeichert. Und diese Datei wird als globale Variable vom Typ File
gehalten.
DoGet()
-> Herunterladen der globalen File
.
Wenn ein Benutzer eine Datei vom Webbrowser lädt, kann ein anderer Benutzer sie von einem anderen Webbrowser herunterladen. Ich nehme an, dies könnte der Grund dafür sein, dass File global ist. Ich versuchte ThreadLocal
, aber es hat nicht funktioniert, weil doPost
und doGet
nicht im selben Thread sind.
Gibt es eine Möglichkeit, die Sie vorschlagen können?
Um zu verdeutlichen, bin ich richtig, dass Sie möchten, dass die Datei nur für den Uploader verfügbar ist? – MartinByers
Ja, nur der Uploader. – cezaalp
Ihre Frage betrifft nicht mehrere Threads. Es geht um mehrere * Benutzer. * – EJP