Bildfehler bei hochgeladenen Bildern

Alles rund um die Programmierung mit Qt
Antworten
user37337
Beiträge: 6
Registriert: 22. April 2010 23:13

Bildfehler bei hochgeladenen Bildern

Beitrag von user37337 »

Hallo,
ich habe ein sehr merkwürdiges Problem beim speichern von Bildern.
Das Problem tritt bei mir nicht auf (Windows 7), sondern nur bei einem Kunden (irgendeine Windows Server Version) deshalb kann ich es nicht selbst testen.
Ich ändere ein Bild vom Typ QPixmap und lade es direkt per FTP hoch:

Code: Alles auswählen

QByteArray bytes;
QBuffer buffer(&bytes);
buffer.open(QIODevice::ReadWrite);
image.save(&buffer, "JPG", 60);
ftp.put(bytes, filename);
Bei mir kommt das Bild heil auf dem Server an. Bei meinem Kunden sieht es aus wie das Bild im Anhang.
Vielleicht habt ihr eine Idee warum das so aussieht.
Dateianhänge
20000052klein.jpg
20000052klein.jpg (5.1 KiB) 4130 mal betrachtet
Curtis Newton
Beiträge: 122
Registriert: 11. Juni 2008 18:39

Beitrag von Curtis Newton »

Sowas wie binär/asciimodus?

Wie solls denn aussehen?

C.
user37337
Beiträge: 6
Registriert: 22. April 2010 23:13

Beitrag von user37337 »

Die Methode put verwendet den Binärmodus wenn man nix anderes angibt. Das sind Produktbilder mit weißem Hintergrund. Die werden heruntergeladen etwas skaliert und auf die richtige Größe beschnitten und per FTP hochgeladen. Zwischendurch werden die Bilder im Programm angezeigt. Die Anzeige der Bilder ist richtig. Nur auf dem FTP-Server kommen Sie nicht richtig an. Kurioserweise passiert das nur bei meinem Kunden.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Vielleicht buffer.close() ?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
user37337
Beiträge: 6
Registriert: 22. April 2010 23:13

Beitrag von user37337 »

Wie gesagt kann ich es nicht selbst testen, aber ich kann mir nicht vorstellen, dass es an dem close() liegen kann. Es muss ja auch irgendwas mit den unterschiedlichen Rechnern zu tun haben. Eventuell fehlende .dll's habe ich schon überprüft. Ich habe den Ordner imageformats aus dem plugins ordner komplett mitgeliefert. Ich habe es auch auf einem eigenen anderen Rechner getestet und da funktioniert es auch.
user37337
Beiträge: 6
Registriert: 22. April 2010 23:13

Beitrag von user37337 »

Ich habe gerade eine Rückmeldung von meinem Kunden erhalten, dass das Problem auch lokal auftritt. Und sowohl auf einem Windows Server System als auch auf einem Windows XP. Somit kommt nur noch eine Zeile im Code als Fehler in Betracht:

Code: Alles auswählen

pixmap.save(&file, "JPG", 60);
Kann sich jemand vorstellen woran das liegen könnte? Ich bin damit überfordert...
user37337
Beiträge: 6
Registriert: 22. April 2010 23:13

Beitrag von user37337 »

Das Thema hat sich erledigt. Anscheinend war ein image.load(...) das Problem. Und die automatische Wahl des Bildformat hat qt nicht hinbekommen.
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Also habt ihr das Programm so geändert, dass es nur JPG laden kann?
user37337
Beiträge: 6
Registriert: 22. April 2010 23:13

Beitrag von user37337 »

Nein ich hatte es vorher etwa umständlich zwischengespeichert als QByteArray. Und das laden daraus in ein QPixmap hat anscheinend nicht geklappt. Jetzt habe ich das alles vereinfacht und nur noch als QPixmap abgespeichert.
Antworten