Autor |
Beitrag |
cemolade
Beiträge: 26
|
Verfasst: So 06.03.11 16:34
hey leute.
mein programm macht einen screenshot vom desktop und der wird dann als png oder jpeg abgespeichert. dann lade ich das bild auf meinen ftp server hoch!
das funktioniert ja alles, aber dann klicke ich das bild am ftp server an, und es wird nur "Bild" angezeigt oder ein X oderso.. die filegröße am ftp stimmt mit dem am pc überein, also wird alles übertragen.
das komische ist aber, wenn ich die bilder über FileZilla(ftp client programm) hochlade dann werden sie angezeigt =/
btw.. wisst ihr wie man dateien am server überschreibt ? einfach eine datei mit dem selben namen uploaden geht leider nicht.
danke schonmal Moderiert von Kha: Topic aus WinForms verschoben am So 06.03.2011 um 18:53
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 06.03.11 16:50
Meine Glaskugel ist leider gerade vom Tisch gerollt und kaputt, deshalb sehe ich deinen Quelltext nicht mehr.
Woher sollen wir den wissen was du da machst?
|
|
cemolade
Beiträge: 26
|
Verfasst: So 06.03.11 16:54
sorry für deine glaskugel >_<
ich helf dir mal aus
screenshot machen
Quelltext 1: 2: 3: 4:
| bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); gfx = Graphics.FromImage(bmp); gfx.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy); bmp.Save(@"C:\Users\Anonym\Desktop\streamit" + counter.ToString() + ".png", ImageFormat.Png); |
bild uploaden
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://csharpkeylogger.cs.ohost.de/3E/streamit" + counter.ToString() + ".png"); //bin mir nicht sicher ob der Server Name so stimmt über Filezilla geht es mit ftp.drivehq.com schon.
request.Method = WebRequestMethods.Ftp.UploadFile;
// This example assumes the FTP site uses anonymous logon. request.Credentials = new NetworkCredential(benutzername, passwort);
// Copy the contents of the file to the request stream. StreamReader sourceStream = new StreamReader("C:\\Users\\Anonym\\Desktop\\streamit" + counter.ToString() + ".png"); byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd()); sourceStream.Close(); request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream(); requestStream.Write(fileContents, 0, fileContents.Length); requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.Close(); |
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 06.03.11 17:03
UTF8? Bei einer Binärdatei?
Wenn da jetzt zufällig Zeichen drin sind, die nach UTF8 aussehen, werden die eventuell umgewandelt. Ich weiß nicht was C# an der Stelle eigentlich macht.
Hast du denn einmal die hochgeladene Datei mit der echten verglichen?
|
|
cemolade
Beiträge: 26
|
Verfasst: So 06.03.11 17:12
stimmt ! ich hab das einfach nur aus meinem txt-upload-test-programm stur rein kopiert^^
habs mal auf default gestellt, selbes problem.
wenn ich die datei über den filezilla öffnen will, gehts nicht. dateiformat wird in der fotoanzeige nicht unterstützt
komisch..
was kann ich tun?
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 06.03.11 17:18
Lade die Datei doch einfach wieder herunter und vergleiche die beiden.
Zum Beispiel mit HxD.
Was mir gerade auffällt: Du setzt UseBinary nirgends auf true. Du willst doch aber eine solche Datei übertragen.
|
|
cemolade
Beiträge: 26
|
Verfasst: So 06.03.11 17:36
hab usebinary auf true gesetzt, gleich nachdem ich den FtpWebRequest deklariere, aber es funktioniert trotzdem nicht ):
wisst ihr noch was?
|
|
Kha
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: So 06.03.11 18:09
cemolade hat folgendes geschrieben : | habs mal auf default gestellt, selbes problem. |
Encoding.Default? Das ist immer noch Text...
Wie wäre es mit WebClient.UploadFile?
_________________ >λ=
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 06.03.11 18:16
Sollte es nicht auch direkt mit den beiden Streams gehen?
msdn.microsoft.com/e...ibrary/dd783870.aspx Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| StreamReader sourceStream = new StreamReader("C:\\Users\\Anonym\\Desktop\\streamit" + counter.ToString() + ".png"); Stream requestStream = request.GetRequestStream(); sourceStream.CopyTo(requestStream); requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.Close(); |
|
|
cemolade
Beiträge: 26
|
Verfasst: So 06.03.11 19:44
@jaenicke gibt kein CopyTo
@Kha uhm, das wusste ich nicht, stimmt^^ aber wo mach ich das mit webclient.uploadfile? statt encoding.default?
gibts leider nicht =/
|
|
Kha
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: So 06.03.11 19:56
cemolade hat folgendes geschrieben : | @jaenicke gibt kein CopyTo |
Du solltest angeben, wenn du nicht mit 4.0 arbeitest.
cemolade hat folgendes geschrieben : | @Kha uhm, das wusste ich nicht, stimmt^^ aber wo mach ich das mit webclient.uploadfile? |
Hu. Darf ich annehmen, dass du dir nicht einmal die Hilfe zu der Methode angeschaut hast? Einen Tipp gebe ich dir: Sie ersetzt deinen ganzen bisherigen Upload-Code.
Zitat: | csharpkeylogger.cs.ohost.de |
Müssen wir uns eigentlich Sorgen machen ?
_________________ >λ=
|
|
cemolade
Beiträge: 26
|
Verfasst: Mi 09.03.11 17:42
hey
kann ich um ein bild upzuloaden den streamreader überhaupt verwenden? brauch ich da nicht sowas wie den binaryreader?
ich arbeite schon mit 4.0? wenn ich auf properties gehe rechts im projektmappenexplorer, dann zeigt er mir netframework 4.0 an.
und nein das ist ein harmloser ftp server mit einem dummen namen^^ kannst ja mal rauf schaun xD
Zuletzt bearbeitet von cemolade am Mi 09.03.11 19:13, insgesamt 1-mal bearbeitet
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 09.03.11 18:08
Stimmt , aber mit einem FileStream statt einem reinen StreamReader sollte es klappen.
|
|
cemolade
Beiträge: 26
|
Verfasst: Mi 09.03.11 19:22
mh das geht glaub ich auch nicht.. kennt sich wer mit dem filestream aus? hab da probleme mit den parametern..
aber naja wie funktioniert das denn mit CopyTo? geht das so einfach? und wieso wird das bei mir nicht angeziegt?
bei der onlinehilfe zu CopyTo steht, dass es einfach dateien in ein verzeichnis kopiert, kann ich da einfach die adresse von einem ftp server angeben ? o.O
bitte kann mir wer helfen..?
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 09.03.11 20:37
cemolade hat folgendes geschrieben : | mh das geht glaub ich auch nicht.. kennt sich wer mit dem filestream aus? hab da probleme mit den parametern.. |
Was ist da das Problem? Steht doch in der Doku was du da z.B. hinschreiben musst:
msdn.microsoft.com/d...ibrary/47ek66wy.aspx
Einmal den Dateinamen und einmal FileMode.Open um die Datei zu öffnen.
cemolade hat folgendes geschrieben : | bei der onlinehilfe zu CopyTo steht, dass es einfach dateien in ein verzeichnis kopiert |
Öh...
Wo steht das? Nicht in dem Link zur Doku zu dem Befehl, den ich oben gepostet habe jedenfalls...
Ich vermute du bist in irgendeiner Datei- oder Verzeichnisklasse über einen gleichnamigen Befehl gestolpert.
|
|