Problema scrivendo file su sito WEB

di il
8 risposte

Problema scrivendo file su sito WEB

Buongiorno a tutti.. ho da poco iniziato ad usare C# e sto creando la mia prima App.. Ho questo problema che non riesco a risolvere ;
dovrei aggiungere linee ad un file i testo che risiede all'interno di un sito internet . Posso leggerlo senza problemi ma non riesco a modificarlo e scriverlo..Il codice viene eseguito senza errori ma il file non viene modificato.
Questo il mio codice:

public void Robi()
{
WebClient client = new WebClient();
CredentialCache cc = new CredentialCache();
cc.Add(
new Uri("http://XXX.i"),
"NTLM",
new NetworkCredential("", "XXXXXX", "ftp.XXXXX.it"));
client.Credentials = cc;
//ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
client .Headers.Add("User-Agent: Other");
Uri Path = new Uri("http://XXXX.it/XXXX/timbra.tx");
Stream cope = client.OpenRead(Path );
StreamReader sr = new StreamReader(cope);
string letto = sr.ReadToEnd();
letto = "aggiungi una riga" + "\n" + letto;
cope.Flush();
sr.Close();

Stream data = client.OpenWrite(Path );
StreamWriter write = new StreamWriter(data);
try
{
write.WriteLine(letto);
}
catch (Exception err)
{
Console.WriteLine(err.Message);
}
write.Close();
data.Close ();
}


Come ho detto ho appena iniziato e sicuramente commetto molti errori .. Qualcuno è in grado di aiutarmi correggendoil codice o dandomi qualche suggerimento?

Grazie.
Roberto.

8 Risposte

  • Re: Problema scrivendo file su sito WEB

    Non puoi scrivere il file sul sito in questo modo!

    Il file ti viene fornito dal web server che lo legge dal filesystem del server.
    Ma non puoi accedere in scrittura allo stesso file se non hai un servizio web attivo sul server per l'upload dei dati e la riscrittura sul filesystem.
  • Re: Problema scrivendo file su sito WEB

    Rombicino ha scritto:


    Il codice viene eseguito senza errori ma il file non viene modificato.
    Siamo sicuri che non si verifichi nemmeno una eccezione?
    Quando esegui il programma, sei in debug oppure lo lanci esternamente?
    In ogni caso, attendi di vedere l'output del programma prima che venga chiuso?

    Mi pare strano che tu non veda effetti, quindi si direbbe che l'operazione fallisca, ma che non venga sollevata alcuna eccezione per indicarlo.

    Ciao!
  • Re: Problema scrivendo file su sito WEB

    Grazie Oregon per la risposta.. però stando cosi le cose non mi spiego perché attraverso Total Commander io posso copiare file sul sito o modificarli e salvarli senza problemi .. Mi puoi spiegare cosa posso fare per risolvere?
    Grazie per la pazienza..
  • Re: Problema scrivendo file su sito WEB

    X Marco : eseguo in dabug e confermo che non si verificano eccezioni.. ma quando apro il file su internet non vi sono modifiche e la data non è cambiata..
    Grazie.
    Roberto.
  • Re: Problema scrivendo file su sito WEB

    Partiamo dall'inizio, lasciando stare certe risposte sbagliate in questo caso.

    1) hai un accesso ftp? sembrerebbe di sì. data risposta poi si procede
  • Re: Problema scrivendo file su sito WEB

    X +m2+ si ho un accesso ftp che inserisco nelle credenziali :

    new NetworkCredential("", "XXXXXX", "ftp.XXXXX.it"));

    ovviamente non l'ho postato ..
    Grazie.
    Roberto
  • Re: Problema scrivendo file su sito WEB

    Rombicino ha scritto:


    X +m2+ si ho un accesso ftp che inserisco nelle credenziali [...]
    Hai un accesso FTP, lo indichi nelle credenziali, però quando usi il WebClient specifichi percorsi (URI) indicando il protocollo HTTP... perché?

    Devi decidere se usare l'uno o l'altro, e usare percorsi congruenti.

    Se decidi di usare FTP, il percorso dovrà essere qualcosa del tipo
    ftp://ftp.dominio.com/cartella/filename.xml
    e non potrà iniziare con http://.

    Ciao!
  • Re: Problema scrivendo file su sito WEB

    Rombicino ha scritto:


    X +m2+ si ho un accesso ftp che inserisco nelle credenziali :

    new NetworkCredential("", "XXXXXX", "ftp.XXXXX.it"));

    ovviamente non l'ho postato ..
    Grazie.
    Roberto
    Dunque con ftp puoi scaricare in locale (trasferire) un file dal server.
    Poi lo puoi modificare, e tipicamente salvare (o usare stream in memoria o quello che vuoi) e poi caricarlo (upload).
    A quel punto, al netto della cache del browser, sarà aggiornato per i fruitori del sito
Devi accedere o registrarti per scrivere nel forum
8 risposte