2012-04-11 7 views
0

Ich muss .dat Datei von jsp Seite hochladen. Ich benutze Verstrebungen. Ich bin mitWie dat Datei mit JSP, Java (Struts.) Hochladen?

<input type="file" name="file" size=25 /> 

in jsp und in Aktionsklasse

FileUploadForm uploadForm = (FileUploadForm) form; 
FormFile file = uploadForm.getFile(); 
InputStream stream = file.getInputStream(); 

Danach ich bin verwirrt. Ich möchte die Datendatei nicht öffnen und lesen, da die Größe der Datei groß sein kann. Ich möchte nur die gleiche Datei in einem bestimmten Pfad auf dem Server erstellen/kopieren, wie im ursprünglichen Namen der Datendatei. Wie es geht?

Und wenn es keinen anderen Weg gibt, lesen Sie es dann auch sagen Sie mir, wie lesen und schreiben Sie es in Dat-Datei.

Antwort

1

Dies sind die Aufgaben, die Sie abschließen, um brauchen diese Aufgabe zu beenden:

  1. Entscheiden Sie, wo die hochgeladenen Dateien werden auf dem Server
  2. Öffnen Sie einen Ausgabestrom in eine Datei in der entsprechenden Stelle gespeichert werden
  3. Kopie aus den hochgeladenen Daten aus es Eingangsstrom an den Ausgang Strom

Hier einige Pseudo-Code, Apache IOUtils Verwendung zu kopieren die Stromdaten:

final FormFile formFile = uploadForm.getFile(); 
final String outPath = "/somerootpath/" + formFile.getFileName(); 
final OutputStream outStream = new FileOutputStream(outPath); 
IOUtils.copy(formFile.getInputStream(), outStream); 
IOUtils.closeQuietly(outStream); 
+0

Vielen Dank für die Antwort. Aber Compiler-Fehler kommt und sagt "Die Methode IOUtils.copy (InputStream, OutputStream) ist nicht definiert für den Typ IOUtils" und dasselbe für IOUtils.closeQuietly (outStream); –

+0

Um Apache IOUtils verwenden zu können, müssen Sie [download it] (http://commons.apache.org/io/download_io.cgi) und das JAR in Ihren Build-Pfad einfügen. – Perception

+0

Vielen Dank Sir. Es funktionierte. –