Autore Topic: FTP request in C#  (Letto 4668 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Pascal

  • Admin
  • Veteran
  • *****
  • Post: 981
  • Karma: 457
  • Rage!
    • Mostra profilo
    • Scavenger Graphics
Lo posto qui (poi magari cambio il nome alla sezione) perché C# assomiglia più a Java che a C++ ...

anyway, qualcuno che per sbaglio ha una copia di visual studio installata, ha idea perché una puttanata di codice come questo NON vuole funzionare?

(si, LO SO che sarebbe da aggiungerci un paio di thread, prima o poi...)




Codice: [Seleziona]
using System;
using System.IO;
using System.Net;
using System.Windows.Forms;


namespace ParaLuganoTurismo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog1 = new OpenFileDialog();

            dialog1.Filter =
               "Documento PDF (*.pdf)|*.pdf";
            //dialog.InitialDirectory = initialDirectory;
            dialog1.Title = "Seleziona file";
            dialog1.ShowDialog();
            if (dialog1.FileName.Contains("pdf"))
            {
                textBox1.Text = dialog1.FileName;
                //bUpload.Enabled = true;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog2 = new OpenFileDialog();

            dialog2.Filter =
               "Documento PDF (*.pdf)|*.pdf";
            //dialog.InitialDirectory = initialDirectory;
            dialog2.Title = "Seleziona file";
            dialog2.ShowDialog();
            if (dialog2.FileName.Contains("pdf"))
            {
                textBox2.Text = dialog2.FileName;
                //bUpload.Enabled = true;
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://xxx.xxx.com/mainwebsite_html/pdf/turismo+tempolibero/lugaturismobollettino.pdf ");
                request.Method = WebRequestMethods.Ftp.UploadFile;
                request.Credentials = new NetworkCredential("xxx@xxx-xxx.ch", "xxx", "");
                request.UsePassive = true;
                request.UseBinary = true;
                request.KeepAlive = false;
               
                //Load the file
                FileStream stream = File.OpenRead(textBox1.Text);
                byte[] buffer = new byte[stream.Length];
                stream.Read(buffer, 0, buffer.Length);
                stream.Close();

                //Upload file
                Stream reqStream = request.GetRequestStream();
                reqStream.Write(buffer, 0, buffer.Length);
                reqStream.Close();
   
            }
            catch (Exception ex)
            {
                tStatus.Text = "Errore.";
                MessageBox.Show(ex.ToString());
            }
            try
            {
                //2nd file

                FtpWebRequest request2 = (FtpWebRequest)WebRequest.Create("ftp://xxx.com/mainwebsite_html/pdf/turismo+tempolibero/lugaturismoeventi.pdf ");
                request2.Credentials = new NetworkCredential("xxx@xxx-xxx.ch", "xxx", "");
                request2.UsePassive = true;
                request2.UseBinary = true;
                request2.KeepAlive = false;

                //Load the file
                FileStream stream2 = File.OpenRead(textBox2.Text);
                byte[] buffer2 = new byte[stream2.Length];
                stream2.Read(buffer2, 0, buffer2.Length);
                stream2.Close();

                //Upload file
                Stream reqStream2 = request2.GetRequestStream();
                reqStream2.Write(buffer2, 0, buffer2.Length);
                reqStream2.Close();

                tStatus.Text = "File caricati.";
            }
            catch (Exception ex)
            {
                tStatus.Text = "Errore.";
                MessageBox.Show(ex.ToString());
            }
        }
    }
}

Offline 3n1gm4

  • Forum God
  • *****
  • Post: 8432
  • Karma: 256
  • Chiamami 02-303123903
    • Mostra profilo
    • nigma blog
Lo posto qui (poi magari cambio il nome alla sezione) perché C# assomiglia più a Java che a C++ ...

anyway, qualcuno che per sbaglio ha una copia di visual studio installata, ha idea perché una puttanata di codice come questo NON vuole funzionare?

(si, LO SO che sarebbe da aggiungerci un paio di thread, prima o poi...)




Codice: [Seleziona]
using System;
using System.IO;
using System.Net;
using System.Windows.Forms;


namespace ParaLuganoTurismo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog1 = new OpenFileDialog();

            dialog1.Filter =
               "Documento PDF (*.pdf)|*.pdf";
            //dialog.InitialDirectory = initialDirectory;
            dialog1.Title = "Seleziona file";
            dialog1.ShowDialog();
            if (dialog1.FileName.Contains("pdf"))
            {
                textBox1.Text = dialog1.FileName;
                //bUpload.Enabled = true;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog2 = new OpenFileDialog();

            dialog2.Filter =
               "Documento PDF (*.pdf)|*.pdf";
            //dialog.InitialDirectory = initialDirectory;
            dialog2.Title = "Seleziona file";
            dialog2.ShowDialog();
            if (dialog2.FileName.Contains("pdf"))
            {
                textBox2.Text = dialog2.FileName;
                //bUpload.Enabled = true;
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://xxx.xxx.com/mainwebsite_html/pdf/turismo+tempolibero/lugaturismobollettino.pdf ");
                request.Method = WebRequestMethods.Ftp.UploadFile;
                request.Credentials = new NetworkCredential("xxx@xxx-xxx.ch", "xxx", "");
                request.UsePassive = true;
                request.UseBinary = true;
                request.KeepAlive = false;
               
                //Load the file
                FileStream stream = File.OpenRead(textBox1.Text);
                byte[] buffer = new byte[stream.Length];
                stream.Read(buffer, 0, buffer.Length);
                stream.Close();

                //Upload file
                Stream reqStream = request.GetRequestStream();
                reqStream.Write(buffer, 0, buffer.Length);
                reqStream.Close();
   
            }
            catch (Exception ex)
            {
                tStatus.Text = "Errore.";
                MessageBox.Show(ex.ToString());
            }
            try
            {
                //2nd file

                FtpWebRequest request2 = (FtpWebRequest)WebRequest.Create("ftp://xxx.com/mainwebsite_html/pdf/turismo+tempolibero/lugaturismoeventi.pdf ");
                request2.Credentials = new NetworkCredential("xxx@xxx-xxx.ch", "xxx", "");
                request2.UsePassive = true;
                request2.UseBinary = true;
                request2.KeepAlive = false;

                //Load the file
                FileStream stream2 = File.OpenRead(textBox2.Text);
                byte[] buffer2 = new byte[stream2.Length];
                stream2.Read(buffer2, 0, buffer2.Length);
                stream2.Close();

                //Upload file
                Stream reqStream2 = request2.GetRequestStream();
                reqStream2.Write(buffer2, 0, buffer2.Length);
                reqStream2.Close();

                tStatus.Text = "File caricati.";
            }
            catch (Exception ex)
            {
                tStatus.Text = "Errore.";
                MessageBox.Show(ex.ToString());
            }
        }
    }
}

`NON vuole funzionare` sembra un po' generico... puoi essere piu` preciso cosicche` anche in non visualstudiati possano darti un consiglio? :P

nigma blog
Impara Il Sardo 1 2
vengo a cagliari di persona accompagnato dall'armata elfica per giocare a quake3arena dentro casa tua!

Offline Pascal

  • Admin
  • Veteran
  • *****
  • Post: 981
  • Karma: 457
  • Rage!
    • Mostra profilo
    • Scavenger Graphics
Questo è l'errore che mi esce:



il primo upload va a buon fine, il secondo non parte nemmeno.

btw la riga 93 è questa:

Codice: [Seleziona]
//Upload file
                Stream reqStream2 = request2.GetRequestStream();
« Ultima modifica: Marzo 03, 2011, 10:05:08 am da Pascal »

Offline 3n1gm4

  • Forum God
  • *****
  • Post: 8432
  • Karma: 256
  • Chiamami 02-303123903
    • Mostra profilo
    • nigma blog
Questo è l'errore che mi esce:



il primo upload va a buon fine, il secondo non parte nemmeno.

btw la riga 93 è questa:

Codice: [Seleziona]
//Upload file
                Stream reqStream2 = request2.GetRequestStream();



Perche` hai codice duplicato? Scrivi un metodo che prende un file e lo uppa, se funziona una volta funziona anche la seconda no?!? Prendi il primo upload a convertilo in un metodo

nigma blog
Impara Il Sardo 1 2
vengo a cagliari di persona accompagnato dall'armata elfica per giocare a quake3arena dentro casa tua!

Offline Pascal

  • Admin
  • Veteran
  • *****
  • Post: 981
  • Karma: 457
  • Rage!
    • Mostra profilo
    • Scavenger Graphics
Perche` hai codice duplicato? Scrivi un metodo che prende un file e lo uppa, se funziona una volta funziona anche la seconda no?!? Prendi il primo upload a convertilo in un metodo

perché ho buttato giù il codice in 10 minuti e non mi sono nemmeno preso la briga di creare dei thread...

mi sa che facevo prima a farlo più strutturato, lol... odio l'informatica! :B

Offline 3n1gm4

  • Forum God
  • *****
  • Post: 8432
  • Karma: 256
  • Chiamami 02-303123903
    • Mostra profilo
    • nigma blog
perché ho buttato giù il codice in 10 minuti e non mi sono nemmeno preso la briga di creare dei thread...

mi sa che facevo prima a farlo più strutturato, lol... odio l'informatica! :B
Ma che te ne fotte dei thread? :D o e` perche` non vuoi freezare l'interfaccia?

nigma blog
Impara Il Sardo 1 2
vengo a cagliari di persona accompagnato dall'armata elfica per giocare a quake3arena dentro casa tua!

Offline Pascal

  • Admin
  • Veteran
  • *****
  • Post: 981
  • Karma: 457
  • Rage!
    • Mostra profilo
    • Scavenger Graphics
LOL risolto, a request2 mancava il metodo a uploadfile! :B


che niubbo! :D

Offline unreal

  • Forum God
  • *****
  • Post: 4197
  • Karma: 85
  • La fortuna è cieca, ma la sfiga ci vede bene!
    • Mostra profilo
LOL risolto, a request2 mancava il metodo a uploadfile! :B
che niubbo! :D
ma dai! lol è vero  :o