Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 2.659 pregleda

Najnovija ↓

FTP Upload - podignuti fajl je veci od izvornog??? 06.08.2007. u 11:46 · pre 234 meseca #1
Dakle imam potrebu da podignem fajl na FTP server iz desktop aplikacije koju radim u C# 2005.
Kod je sledeci:

public void uploadFile(string LocalDir, string fileName, string RemoteDir)
{
try
{
lbByteDWNL.Text = String.Empty;
lbByteDWNL.Update();
fileName = fileName.Trim();
string fullFilePath = String.Format("ftp://{0}//{1}//{2}", "xxx.xxx.xxx.xxx", RemoteDir, fileName).Trim();

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(fullFilePath);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential("username", "password");

StreamReader sourceStream = new StreamReader(LocalDir + fileName);
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();
MessageBox.Show(response.StatusDescription);


response.Close();
}
catch { MessageBox.Show("Neuspelo"); }
}

I to "radi", odnosno podigne fajl, ali se njegova duzina razlikuje od originala. Na primer, kada podignem jpg fajl od 62.682 bajta, on je gore 108.570 bajtova, i kada ga skinem nazad, ne moze da se otvori kao slika.

Koliko sam uspeo da skontam, problem je u liniji

byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());

ali i kada imesto UTF8 stavim druge vrednosti, ili default, isti je problem samo je velicina fajla razlicita, ali nikad nije kako treba.
Ima li neko neku ideju?
Re: FTP Upload - podignuti fajl je veci od izvornog??? 06.08.2007. u 16:28 · pre 234 meseca #2
Cini mi se problem je u konverziji na unicode. Probaj da stavis Encoding.ASCII i da koristis BinaryReader za citanje fajla.
Potpis
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
Re: FTP Upload - podignuti fajl je veci od izvornog??? 07.08.2007. u 08:30 · pre 234 meseca #3
Reseno, evo koda koji resava problem ako nekome treba:

FileStream fs1 = new FileStream(LocalDir+fileName, FileMode.Open, FileAccess.Read);
byte[] fileContents = new byte[fs1.Length];
fs1.Read(fileContents, 0, Convert.ToInt32(fs1.Length));
fs1.Close();

Pozdrav svima i hvala.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme