2009-06-26 6 views
0

Ich arbeite mit etwas Code, der ein Bild von einem Formular hochlädt und es auf unserem Server speichert. In Internet Explorer kann der Benutzer einen Pfad manuell eingeben, und ich frage mich, wie ich überprüfen kann, dass die Datei vorhanden ist, d. H. Dass der Benutzer einen gültigen Pfad eingegeben hat.Nach einem gültigen Pfad beim Hochladen einer Datei suchen Mit commons-fileupload

Es gibt ein FileItem Objekt, das Größe zu überprüfen, wird verwendet wird (zum Beispiel fileItem.getSize() < MAX_SIZE), und ich frage mich, ob ein guter Ansatz Größe zu verwenden, wäre zu prüfen, ob die Datei vorhanden ist. Zum Beispiel:

if (fileItem.getSize() == 0) { 
    // Somethings wrong -- invalid path. 
} else { 
    // File exists -- valid path. 
} 

Alle Vorschläge sind willkommen. Vielen Dank!

+0

Ich denke, Sie erhalten nicht einmal ein FileItem, wenn nichts hochgeladen wird. – akarnokd

+0

Ich bekomme ein FileItem, aber die Größe ist Null für jeden eingetragenen Müllpfad. – Chocula

+0

Danke, war mir nicht sicher, da ich meine Datei-Uploads nie getestet habe, indem ich nichts hochgeladen habe. Ich schätze ich weiß, welche Art von Dingen erlaubt ist hochgeladen zu werden und erwarte nicht wirklich eine Null-Länge-Datei, die du einfach bei deiner Methode bleiben könntest. – akarnokd

Antwort

1

Auf dem Client können Sie den Text eines Dateiuploadsteuerelements mit Skript nicht zuverlässig lesen. IE8 und Opera10 beispielsweise werden Sie belügen und einen generischen Pfad mit "C: \ fakepath" bereitstellen. Dies geschieht aus Datenschutzgründen.

Auf dem Server können Sie genau das tun, was Sie getan haben. Überprüfen Sie einfach, ob Sie tatsächlich eine Datei im Upload erhalten haben. Wenn ja, können Sie die Datei untersuchen und feststellen, ob sie Ihren Kriterien entspricht.