Fileupload: Datei wird abgeschnitten
Verfasst: Dienstag 14. September 2010, 09:51
Hallo Leute,
ein kleines Problemchen zerrt an meinen Nerven:
Ich möchte eine Datei (meist Exel, Word etc.) hochladen
Hier ist der HTML Teil:
Der Pythoncode lautet:
Es ist aber so, dass die Datei IMMER zu kurz ankommt.
Ausgabe:
Setze 'hängt' das System.
Interessant ist, dass bei der Überprüfung der Dateilänge schon zu wenig Bytes angezeigt werden.
Darf ich um Eure geschätzte Fachmeinung bitten...
Pyhton V2.6.5
Lg
\^/ili
ein kleines Problemchen zerrt an meinen Nerven:
Ich möchte eine Datei (meist Exel, Word etc.) hochladen
Hier ist der HTML Teil:
Code: Alles auswählen
<form method="post" enctype="multipart/form-data" action="/~langertag/scripts/start.py">
<input type="hidden" name="action" value="upload">
<input type="hidden" name="path" value="<%out(path)%>">
<input type="hidden" name="gruppe" value="<%out(gruppe)%>">
Dateiname: <input type="file" name="uploadfile" size="64"><br />
<input type="submit" value="upload">
</form>
Code: Alles auswählen
fileitem = self.main.form['uploadfile']
iFilename = fileitem.filename
ext = os.path.splitext(iFilename)[1]
ext = ext.lower()
if not ext in self.PROPPER_EXT:
self.main.flash = 'Ungültige Dateierweiterung "{0}". Die Datei muss einer der folgenden Erweiterungen haben {1}'.format(ext,', '.join(self.PROPPER_EXT))
return
oFileName = Config.mvcpath+'/root/informationen/gruppen/showgruppe/{0}{1}'.format(gruppe,ext)
self.render(oFileName+'<br />')
fOut = open(oFileName,'wb')
fileitem.file.seek(0,os.SEEK_END)
fSize = fileitem.file.tell()
fileitem.file.seek(0)
self.render ("Filename: %s name: %s mode: %s <br />" %(iFilename,fileitem.file.name,fileitem.file.mode))
self.render ("Filesize: %d" % (fSize))
fOut.write(fileitem.file.read())
fOut.close()
self.render('-- done --')
Ausgabe:
Wenn ich wie empfohlenupload../../WEB-INF/mvc/root/informationen/gruppen/showgruppe/AMS.xls
Filename: BUCHUNGSJOURNAL.xls name: c:\dokume~1\nagy\lokale~1\temp\tmpzcavzy mode: w+b
Filesize: 5911-- done --
Code: Alles auswählen
msvcrt.setmode( 0, os.O_BINARY ) # stdin = 0
msvcrt.setmode( 1, os.O_BINARY ) # stdout = 1
Interessant ist, dass bei der Überprüfung der Dateilänge schon zu wenig Bytes angezeigt werden.
Darf ich um Eure geschätzte Fachmeinung bitten...
Pyhton V2.6.5
Lg
\^/ili