Java Datei hochladen, umbenennen, Datei beim hochladen
Ich bin das hochladen einer Datei mithilfe der Servlet-verwenden Sie den code wie folgt::
FileItem fi = (FileItem) i.next();
String fileName = fi.getName();
out.print("FileName: " + fileName);
String contentType = fi.getContentType();
boolean isInMemory = fi.isInMemory();
long sizeInBytes = fi.getSize();
if (fileName == null || fileName == "") {
resumefilepath = "";
} else {
resumeflag = 1;
if (fileName.lastIndexOf("\\") >= 0) {
file = new File(resumePath + fileName.substring(fileName.lastIndexOf("\\")));
} else {
file = new File(resumePath + fileName.substring(fileName.lastIndexOf("\\") + 1));
}
fi.write(file);
Was ich immer bin, ist meine Datei ist immer korrekt hochgeladen. Ich brauchte, um meine Dateien hochladen-Datei mit verschiedenen Namen, aber stellen Sie sicher, dass der Inhalt der Datei sollte nicht geändert werden. Angenommen ich habe ein Bild 'A. png', dann soll es gespeichert werden 'B. png'. Bitte helfen Jungs??? Ich habe versucht, wie diese:
File f1 = new File("B.png");
//Rename file (or directory)
file.renameTo(f1);
fi.write(file);
Aber nicht funktioniert
File#renameTo()
um eine Datei umzubenennen.Bearbeiten können Sie meinen code und fügen Sie als Antwort??
in anderen Beispielen sind Sie neue Dateien erstellen und speichern, in diesen Fall verliert es den Inhalt meiner Datei, die ich brauche, um meine Inhalte auf der Seite in die es gibt!! Inhalte dürfen nicht geändert, nur der name ändert sich
speichern Sie die Datei zunächst auf der Festplatte dann einfach umbenennen.
fi.renameTo () - Methode gibt Fehler!!
InformationsquelleAutor androidGenX | 2014-10-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Sie beziehen sich auf die Apache Commons
FileItem
Sie sind einfach in der Steuerung, wasFile
Instanz übergebenFileItem.schreiben
. An diesem Punkt, dieFile
Objekt ist nur ein abstrakter name und die Datei wird erstellt, indem die Methode.Ist es Ihr code, der liest den Namen aus der
FileItem
aus und erstellt einFile
Objekt mit dem gleichen Namen. Sie müssen nicht, es zu tun. Also, wenn Sie passnew File("B.png")
zu denwrite
Methode einerFileItem
entspricht einem upload vonA.png
wird der Inhalt in einer Datei zu speichernB.png
.E. g. zu tun buchstäblich, was Sie gefragt haben, können Sie ändern Sie die Zeile
zu
Eine vereinfachte version des Codes kann wie folgt Aussehen:
die Antwort ist bereits aktualisiert.
buddy gleiche Problem den Upload aber den Namen nicht ändern!!
Sind Sie sicher, dass die input-name ist
"A.png"
? Sie können logging-Anweisungen, um herauszufinden, was die tatsächlichen Werte sind. Ich bin mir ziemlich sicher, dass diewrite
Methode schreiben, um die Datei, die Sie angeben, und sonst nichts. Sie sollten auch überprüfen, dass Sie nicht auf der Suche nach einem alten Datei erstellt, die von einem der früheren versuche.Kein buddy bin ich nicht!! Ich bin mir sicher, aber weiß nicht y es ist noch umbenannt werden
InformationsquelleAutor Holger
Wenn Sie auf der Suche nach einer Antwort, wo Sie können die Datei hochladen und Namen ändern, und stecken Sie es in die Datenbank ein, hier ist es
InformationsquelleAutor Shubh