Ulozeni souboru   otázka

C#, I/O operace

Přeju krásný den. Nevím jestli je to tím vedrem nebo tím, že je pátek. Mám aplikaci, která mi stahuje data z FTP a plní je do Stream a kotroluje jestli je daný soubor formatu xml, pokud ne musim ho uložit na lokalní disk. Bohužel nevím o jaký soubor se může jednet tzn. třeba soubor formátu xls. A teď mám dotaz jakým nejlepším způsobem uložím tento soubor. Používám metodu FileStream, ale jde o to, že mi třeba soubor formátu xls totálně rozbije. Někde dělám nějakou chybu bohužel nevim kde. Zde je kod pro uložení.

    public void LogStream(string LogInfo, Stream serverFileStream, string fileName)
    {
      string badDirectory = Settings.Default.badDirectory;

      if (!System.IO.Directory.Exists(badDirectory))
        badDirectory = AppDomain.CurrentDomain.BaseDirectory;

      fileName = badDirectory + fileName;

      int length = 256;
      int bytesRead = 0;
      Byte[] buffer = new Byte[length];

       write the required bytes
      using (FileStream fs = new FileStream(fileName, FileMode.Create))
      {
        do
        {
          bytesRead = serverFileStream.Read(buffer, 0, length);
          fs.Write(buffer, 0, bytesRead);
        }
        while (bytesRead == length);
      }

      serverFileStream.Dispose();
    }

Pokud máte někdo jiný způsob rád se poučím.

Jde mi o to jak nejednodušeji uložit soubor z FTP na lokální disk jakéhokoliv formátu.

Vim že to musí jít nějak jednoduše.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pužil jsem zatím

My.Computer.Network.DownloadFile _
    ("http://www.cohowinery.com/downloads/WineList.txt", _
    "C:\Documents and Settings\All Users\Documents\WineList.txt")

Pokud by měl někdo nějake jiné řešení?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jistě, pro komunikaci pomocí protokolu FTP se používá FtpWebRequest (požadavek) a FtpWebResponse (odpověď) ze jmenného prostoru System.Net. Data se odesílají a přijímají stejně jako u všeho ostatního - pomocí některé z implementací System.IO.Stream.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To jsem všechno pochopil, dokonce mi to i funguje, ale jde mi o to proč c případě, že se jedná např. o soubor typu xls se mi obsah souboru rozbije. Zřejmně dělám někde chybu, ještě jsem ji nenašel, ale zatím ponechávám metodu DownloadFile ta funguje.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pravděpodobně proto, že používáte špatné kódování.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No to jsem si taky myslel, ale vyzkoušel jsem např. UTF8, a vysledek byl stejnej. Ještě to vyřeším bohužel teď jsem časově dost v tísni. Diky moc.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback