Oh ja danke. Habe ich total vergessen das da noch mein Passwort drin steht.
Es liegen kaum Dateien auf dem Space und ich habe kein Root zugriff, also kann man zum Glück nicht viel anstellen!
Gruß Hanman
Upload
'Ich liebe es wenn ein Plan funktioniert'
Code: Alles auswählen
#!/usr/bin/python
import cgi
import ftplib
import os.path
import os
import cgitb
import PIL
cgitb.enable()
form = cgi.FieldStorage()
data_of_file = form["file"]
fileobj = form["file"].file
print "Content-Type : text/html"
print
#fsize = len(data_of_file.value)
#if fsize > 60000 :
#print "Content-Type : text/html"
#print
#print 'The file is too big'
ending = os.path.splitext(data_of_file.filename)
if ending[1] in ('.jpeg', '.jpg', '.png'):
dict = 'pics'
list = os.listdir(dict)
print list
count = str(len(list) + 1)
conn = ftplib.FTP('ftp-gateway.de','user','passwd')
conn.cwd('/public_html/cgi-bin/pics/')
serverf2 = count+'.pic'
repl = path.replace('\\', os.sep)
conn.storbinary('STOR %s' % serverf2, fileobj)
else :
print "Content-Type : text/html"
print
print 'JPEG and PNG only'
- form["file"] beinhaltet eine Instanz von cgi.FieldStorage, in der alle Werte der hochgeladenen Datei gespeichert sind, so zum Beispiel den Dateinamen auf dem Clientrechner. Außerdem beinhaltet es die komplette Datei bereits in form["file"].file , sie muss also nicht noch geöffnet werden
- Deine if-Abfrage ist zwecklos gewesen. form["file"].value enthält die komplette Datei und keinen Dateinamen. Trotzdem wird die Frage funktionieren, da or ".jpg" dasteht. ".jpg" ist ein nicht leerer String, also immer wahr, somit hätte man auch if True schreiben können.
- Die print statements habe ich rausgenommen, da sie wahrscheinlich eh nicht das ausgeben, was du erwartet hast
- Die Datei ist bereits als fileobjekt existent, muss bzw kann nicht mehr mit open erzeugt werden. Das hat hauptsächlich den Fehler ausgelöst.
- Da sie entweder als StringIO buffer oder als Temporayfileobject vorliegt muss sie nicht geschlossen werden. Das erledigt Python am Ende des Scriptes selber. Es wäre aber kein Fehler das selbst zu tun.
hth, Milan
Da bin ich dir wirklich zu Dankbarkeit verpflichtet Milan. Funktionirt soweit alles wunderbar und ich verstehe auch alles!
Gruß Hanman
Gruß Hanman
'Ich liebe es wenn ein Plan funktioniert'
Eine Frage hätte ich da noch :
Ich möchte noch für jedes Bild ein Thumbnail erstellen, unter zu Hilfe nahme des Pil Moduls. Wenn ich am anfang nun PIL importtere kommt kein Fehler, wenn ich aber nun auf PIL Funktionen zugreifen will werden diese nicht gefunden. Ich hab einfach den PIL Ordner mit in das cgi-bin Verzeichnis gelegt und habe auch noch eine PIL.pth Datei hinzugefügt.
Gruß Hanman
Ich möchte noch für jedes Bild ein Thumbnail erstellen, unter zu Hilfe nahme des Pil Moduls. Wenn ich am anfang nun PIL importtere kommt kein Fehler, wenn ich aber nun auf PIL Funktionen zugreifen will werden diese nicht gefunden. Ich hab einfach den PIL Ordner mit in das cgi-bin Verzeichnis gelegt und habe auch noch eine PIL.pth Datei hinzugefügt.
Gruß Hanman
'Ich liebe es wenn ein Plan funktioniert'
so hat sich erledigt, pil kann ich wohl ohne weiteres nicht installieren
Gruß Hanman
Gruß Hanman
'Ich liebe es wenn ein Plan funktioniert'