Pagina 1 di 10 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 97
  1. #1

    ASP.Net Salvare/Leggere file txt su server

    Salve, come posso salvare un file txt nel server, prendendo i dati contenuti in un form?
    Come posso poi leggerlo?
    Grazie in anticipo a tutti

  2. #2
    Premettendo che questa operazione in quanto a performance è da buttare, puoi usare uno StreamReader per leggere ed uno StreamWriter per scrivere, dovresti progettare un oggetto per effettuare queste operazioni (altrimenti a che serve pensare ad oggetti?), poi dovresti "settare per bene" i permessi sul server per permettere lettura e scrittura di una determinata cartella, ciò per evitare errori del tipo System.UnauthorizedAccessException. Ma in definitiva secondo me dovresti pensare ad altre soluzioni sopratutto se lo scenario in cui devi lavorare ha un pool di utenti molto elevato.

    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  3. #3
    Innanzitutto grazie per la risposta.
    Intendi un DB?

  4. #4
    BHe... si, ma dipende sempre tutto da cosa deve fare la tua applicazionie
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  5. #5
    OK. Allora io devo realizzare questo:
    una pagina che si connette al mio pop3, legge le mail e le inserisce in un db separandone i contenuti, per ogni record, in mittente, destinatario, oggetto mail (titolo), corpo mail, eventuale allegato o allegati.
    Dovrei inoltre, per ogni mail letta, creare un file txt che contenga, separati da riga vuota, mittente, destinatario, oggetto mail (titolo), corpo mail, eventuale allegato o allegati. Il nome del file deve essere ad esempio dataattuale_mittente_destinatario.txt .
    So bene che è ardua la cosa. Ma ci devo riuscire.

  6. #6
    asd, allora buona fortuna. Non è una piccola app ma un vero e proprio sistema, solitamente funziona cosi: analisi -> progettazionie -> sviluppo.

    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  7. #7
    In realtà in parte l'ho già realizzata.
    Mi connetto ap pop3.
    Importo le mail... ma il problema è scindere le varie parti... per 2 motivi:
    1) ho notato che ricevo la mail (retr) non sempre allo stesso modo...a volte tutta.. a volte una parte;
    2) trovare i punti in cui spezzarla per ricavare ciò che mi interessa... ossia rilevo dove iniziano rispettivamente mittente, destinatario, titolo, corpo... ma il fatto, come dicevo al punto 1), che non sempre RETR mi da lo stesso risultato mi crea l'impossibilità di automatizzare il tutto... e non capisco perchè a volte mi manchi la parte finale e tralaltro in modo sempre diverso.
    In ogni caso... mi sapresti buttare giù due righe per la scrittura dei file txt su server e per la lettura? Mi basta genericamente creare un file txt e poi leggerlo.

  8. #8
    Ciao.
    Avevo avuto anche io dei problemi del genere ... ma con qualche sega mentale avevo risolto .... prova a dare un occhio a questo codice .... non ricordo se è quello usato per risolvere il problema.
    codice:
    Private Sub GetMessage(ByVal message As MyMailMessage)
            Dim Bs As Integer = 0
            Dim SendByte() As Byte
    
            SendByte = Encoding.ASCII.GetBytes("RETR " & message.Id & vbCrLf)
            Stream.Write(SendByte, 0, SendByte.Length)
    
            Dim file As New IO.StreamWriter("D:\Varie\Messaggi prova\Prove" & message.Id & ".txt")
    
            Dim ByteReceive(999) As Byte
            Dim ByteReceive2(0) As Byte
            Dim prova As String
            Dim Part As Integer = CInt(message.Size / 1000)
    
            Do
                If Part > 0 Then
                    If Client.Available > 999 Then
                        Part -= 1
                        Stream.Read(ByteReceive, 0, ByteReceive.Length)
                        message.Size -= ByteReceive.Length
                        prova = Encoding.ASCII.GetString(ByteReceive)
                        file.Write(prova)
                    End If
                Else
                    If Client.Available > 0 Then
                        Stream.Read(ByteReceive2, 0, ByteReceive2.Length)
                        message.Size -= ByteReceive2.Length
                        prova = Encoding.ASCII.GetString(ByteReceive2)
                        file.Write(prova)
                    End If
                End If
                If message.Size < 0 And Client.Available = 0 Then
                    Threading.Thread.Sleep(500)
                End If
            Loop Until message.Size < 0 And Client.Available = 0
            file.Close()
    
            Dim prova2 As String = IO.File.ReadAllText("D:\Varie\Messaggi prova\Prove" & message.Id & ".txt")
            If prova2.StartsWith("+OK") And prova2.EndsWith(vbCrLf & "." & vbCrLf) Then
            Else
                MessageBox.Show("File corrotto" & message.Id)
            End If
    
        End Sub
    Se hai ancora problemi lo cerco bene.

    Facci sapere...
    Ciao

  9. #9
    Ok. Davvero grazie per la tua disponibilità. Ora lo guardo e lo provo.. poi ti dico.

  10. #10
    Purtroppo mi segnala una serie di errori... posto quanto risulta:

    Errore di compilazione
    Descrizione: Errore durante la compilazione di una risorsa necessaria per soddisfare la richiesta. Rivedere i dettagli relativi all'errore e modificare in modo appropriato il codice sorgente.

    codice:
    Messaggio di errore del compilatore: BC30002: Tipo 'MyMailMessage' non definito.
    
    Errore nel codice sorgente:
    
    
    Riga 123:       ''      tcpC.close
    Riga 124:             End Function
    Riga 125:Private Sub GetMessage(ByVal message As MyMailMessage)
    Riga 126:        Dim Bs As Integer = 0
    Riga 127:        Dim SendByte() As Byte
    
    File di origine: D:\GestionePosta\Index.aspx    Riga: 125 
    
    Mostra dettagli dell'output del compilatore:
    
    
    c:\windows\system32\inetsrv> "C:\Windows\Microsoft.NET\Framework\v2.0.50727\vbc.exe" /t:library /utf8output /R:"C:\Windows\assembly\GAC_MSIL\System.ServiceModel\3.0.0.0__b77a5c561934e089\System.ServiceModel.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.ServiceModel.Web\3.5.0.0__31bf3856ad364e35\System.ServiceModel.Web.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll" /R:"C:\Windows\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Web.Mobile\2.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll" /R:"C:\Windows\assembly\GAC_32\System.Web\2.0.0.0__b03f5f7f11d50a3a\System.Web.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.IdentityModel\3.0.0.0__b77a5c561934e089\System.IdentityModel.dll" /R:"C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Runtime.Serialization\3.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.Web.Services\2.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"C:\Windows\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll" /R:"C:\Windows\assembly\GAC_MSIL\System.WorkflowServices\3.5.0.0__31bf3856ad364e35\System.WorkflowServices.dll" /out:"C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\3dd1e6ea\a2f675d9\App_Web_hqpiq8bs.dll" /D:DEBUG=1 /debug+ /win32resource:"C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\3dd1e6ea\a2f675d9\hqpiq8bs.res" /define:_MYTYPE=\"Web\" /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Specialized,System.Configuration,System.Text,System.Text.RegularExpressions,System.Web,System.Web.Caching,System.Web.SessionState,System.Web.Security,System.Web.Profile,System.Web.UI,System.Web.UI.WebControls,System.Web.UI.WebControls.WebParts,System.Web.UI.HtmlControls  "C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\3dd1e6ea\a2f675d9\App_Web_hqpiq8bs.0.vb" "C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\3dd1e6ea\a2f675d9\App_Web_hqpiq8bs.1.vb"
    
    
    Compilatore Microsoft (R) Visual Basic versione '8.0.50727.3053'
    per Microsoft (R) .NET Framework versione '2.0.50727.3603'
    Copyright (c) Microsoft Corporation. Tutti i diritti riservati.
    
    D:\GestionePosta\Index.aspx(21) : warning BC42021: Funzione senza clausola 'As'. Verrà utilizzato il tipo restituito Object.
    
             Function SendCommand(byRef NetStream as NetworkStream, byVal sToSend as String)
                      ~~~~~~~~~~~                                                           
    D:\GestionePosta\Index.aspx(28) : warning BC42021: Funzione senza clausola 'As'. Verrà utilizzato il tipo restituito Object.
    
             Function GetResponse(byRef NetStream as NetworkStream)
                      ~~~~~~~~~~~                                  
    D:\GestionePosta\Index.aspx(37) : warning BC42021: Funzione senza clausola 'As'. Verrà utilizzato il tipo restituito Object.
    
             Function ReadMail(host as string, user as string, pass as string)
                      ~~~~~~~~                                                
    D:\GestionePosta\Index.aspx(58) : warning BC42030: La variabile 'NetStream' viene passata per riferimento prima che le venga assegnato un valore. In fase di esecuzione potrebbe venire generata un'eccezione di riferimento null.
    
                 MyResponse = SendCommand(netstream,"user " & user & vbCrLF)
                                          ~~~~~~~~~                         
    D:\GestionePosta\Index.aspx(124) : warning BC42105: La funzione 'ReadMail' non restituisce un valore in tutti i percorsi del codice. Potrebbe verificarsi un'eccezione di riferimento null in fase di esecuzione quando verrà utilizzato il risultato.
    
                 End Function
                 ~~~~~~~~~~~~
    D:\GestionePosta\Index.aspx(125) : error BC30002: Tipo 'MyMailMessage' non definito.
    
    Private Sub GetMessage(ByVal message As MyMailMessage)
                                            ~~~~~~~~~~~~~ 
    D:\GestionePosta\Index.aspx(130) : error BC30451: Nome 'Stream' non dichiarato.
    
            Stream.Write(SendByte, 0, SendByte.Length)
            ~~~~~~                                    
    D:\GestionePosta\Index.aspx(141) : error BC30451: Nome 'Client' non dichiarato.
    
                    If Client.Available > 999 Then
                       ~~~~~~                     
    D:\GestionePosta\Index.aspx(143) : error BC30451: Nome 'Stream' non dichiarato.
    
                        Stream.Read(ByteReceive, 0, ByteReceive.Length)
                        ~~~~~~                                         
    D:\GestionePosta\Index.aspx(149) : error BC30451: Nome 'Client' non dichiarato.
    
                    If Client.Available > 0 Then
                       ~~~~~~                   
    D:\GestionePosta\Index.aspx(150) : error BC30451: Nome 'Stream' non dichiarato.
    
                        Stream.Read(ByteReceive2, 0, ByteReceive2.Length)
                        ~~~~~~                                           
    D:\GestionePosta\Index.aspx(156) : error BC30451: Nome 'Client' non dichiarato.
    
                If message.Size < 0 And Client.Available = 0 Then
                                        ~~~~~~                   
    D:\GestionePosta\Index.aspx(159) : error BC30451: Nome 'Client' non dichiarato.
    
            Loop Until message.Size < 0 And Client.Available = 0
                                            ~~~~~~              
    D:\GestionePosta\Index.aspx(165) : error BC30451: Nome 'MessageBox' non dichiarato.
    
                MessageBox.Show("File corrotto" & message.Id)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.