Diskuze: Chyba nahrátí jpg souboru přes ftp
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Problém bude v textovém kódování UTF8, v případě jpg dat to vyhodnotí nesmyslně a některé "dvojbyty" spojí -> změna velikosti. Takže asi nejlepší použít BinaryReader. Tohle je funkční kód, který jsem vyzkoušel a výsledek je v pořádku (http://www.radekchalupa.com/obr2.jpg).
FtpWebRequest fwr = (FtpWebRequest)WebRequest.Create("ftp://ftp.radekchalupa.com/www/obr2.jpg");
fwr.Method = WebRequestMethods.Ftp.UploadFile;
FileStream fs = new FileStream("d:\\test.jpg", FileMode.Open);
BinaryReader sr = new BinaryReader(fs);
byte[] buffer = (byte[])sr.ReadBytes((int)fs.Length);
fwr.ContentLength = buffer.Length;
sr.Close();
fs.Close();
fwr.Credentials = new NetworkCredential("username", "heslo");
Stream stream = fwr.GetRequestStream();
stream.Write(buffer, 0, (int)fwr.ContentLength);
stream.Close();
FtpWebResponse resp = (FtpWebResponse)fwr.GetResponse();
Console.WriteLine(resp.StatusDescription);
resp.Close();
Console.ReadLine();
Radek Chalupa
Děkuji za rychlou a přesnou odpověď. Už vše funguje jak má.
Zobrazeno 3 zpráv z 3.