FTP request in C#

  • 7 Risposte
  • 4734 Visite

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

*

Offline Pascal

  • *****
  • 985
  • 457
  • Rage!
    • Mostra profilo
    • Scavenger Graphics
FTP request in C#
« il: Marzo 02, 2011, 02:29:17 pm »
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

  • *****
  • 8432
  • 256
  • Chiamami 02-303123903
    • Mostra profilo
    • nigma blog
Re: FTP request in C#
« Risposta #1 il: Marzo 02, 2011, 09:29:12 pm »
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

  • *****
  • 985
  • 457
  • Rage!
    • Mostra profilo
    • Scavenger Graphics
Re: FTP request in C#
« Risposta #2 il: Marzo 03, 2011, 10:02:47 am »
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

  • *****
  • 8432
  • 256
  • Chiamami 02-303123903
    • Mostra profilo
    • nigma blog
Re: FTP request in C#
« Risposta #3 il: Marzo 03, 2011, 11:32:44 am »
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

  • *****
  • 985
  • 457
  • Rage!
    • Mostra profilo
    • Scavenger Graphics
Re: FTP request in C#
« Risposta #4 il: Marzo 03, 2011, 11:42:46 am »
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

  • *****
  • 8432
  • 256
  • Chiamami 02-303123903
    • Mostra profilo
    • nigma blog
Re: FTP request in C#
« Risposta #5 il: Marzo 03, 2011, 11:55:30 am »
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

  • *****
  • 985
  • 457
  • Rage!
    • Mostra profilo
    • Scavenger Graphics
Re: FTP request in C#
« Risposta #6 il: Marzo 03, 2011, 02:22:02 pm »
LOL risolto, a request2 mancava il metodo a uploadfile! :B


che niubbo! :D

*

Offline unreal

  • *****
  • 4197
  • 85
  • La fortuna è cieca, ma la sfiga ci vede bene!
    • Mostra profilo
Re: FTP request in C#
« Risposta #7 il: Marzo 03, 2011, 04:50:09 pm »
LOL risolto, a request2 mancava il metodo a uploadfile! :B
che niubbo! :D
ma dai! lol è vero  :o