Uloženie a čítanie textového súboru   zodpovězená otázka

ASP.NET WebForms

Prosím o radu ako uložiť textový súbor na server a ako ho prečítať.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

V nějaké proceduře v kódu komponenty nebo stránky - postup a kód je pak úplně stejný jako ve VB.NET. Jediné, co musíš udělat, je zjistit si přesnou cestu k adresáři aplikace (to je to Request.PhysicalApplicationPath) a při vytváření streamu za ni připojit přes IO.Path.Combine název požadovaného souboru.

Dim cesta As String = Request.PhysicalApplicationPath
Dim sw As New StreamWriter(IO.Path.Combine(cesta, "soubor.txt"))
sw.Write("text")
sw.Close()

Jinak na tohle dávej pozor, obecně se to moc nedělá, protože pokud na stránku vlezou dva uživatelé najednou, můžou si data v souboru přepsat. Musíš tedy každému uživateli přiřadit jiný soubor, na to nezapomeň!

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ďakujem!

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Doleuvedený kód v podstate funguje, až na jednú vec. Ak priradim hodnotu názvu v deklaráci tak to funguje ak v kóde tak nefunguje. Dávam na zvaženie či má zmysel sa tým zaoberať. Tomáš, ty nie!

Partial Class _Default
    Inherits System.Web.UI.Page
    Dim NazovSuboru As String = "subor" 'Takto to funguje
    Dim ObsahSuboru As String
    Dim Cesta As String
    'ulozit subor
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Ak dam tu
        'NazovSuboru = "subor1" ' tak to nefunguje
        Me.ObsahSuboru = "funguje"
        Cesta = Server.MapPath(NazovSuboru & ".txt")
        UlozSubor(ObsahSuboru, Cesta)
    End Sub
    'citat subor
    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Cesta = Server.MapPath(NazovSuboru & ".txt")
        Me.TextBox1.Text = CitajSubor(Cesta)
    End Sub
    Sub UlozSubor(ByVal ObsahSuboru As String, ByVal Cesta As String)
        Dim objStreamWriter As IO.StreamWriter
        objStreamWriter = IO.File.CreateText(Cesta)
        objStreamWriter.Write(ObsahSuboru)
        objStreamWriter.Flush()
        objStreamWriter.Close()
    End Sub
    Function CitajSubor(ByVal Cesta As String) As String
        Dim objStreamReader As IO.StreamReader
        Dim strFileContents As String
        If IO.File.Exists(Cesta) Then
            objStreamReader = IO.File.OpenText(Cesta)
            strFileContents = objStreamReader.ReadToEnd()
            objStreamReader.Close()
        Else
            strFileContents = "Subor neexistuje"
        End If
        CitajSubor = strFileContents
    End Function
End Class

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Prepáčte, že som Vás tým zaťažil, ale asi už viem odpoveď.

Pri stlačení button dôjede k obnove stánky a tým vlastne sa stratí hodnota priradená k názvu suboru.

Ak sa niekto dočítal až sem, ďakujem mu za pozornosť.

Príjemný večer a s VB .net zvlášť.

nahlásit spamnahlásit spam 1 / 1 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