Venom Forum

Script Zone => Scripting Java e JavaScript => Topic aperto da: Pascal - Marzo 02, 2011, 02:29:17 pm

Titolo: FTP request in C#
Inserito da: Pascal - 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...)

(http://i.imgur.com/nCjjj.png)


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());
            }
        }
    }
}
Titolo: Re: FTP request in C#
Inserito da: 3n1gm4 - 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...)

(http://i.imgur.com/nCjjj.png)


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
Titolo: Re: FTP request in C#
Inserito da: Pascal - Marzo 03, 2011, 10:02:47 am
Questo è l'errore che mi esce:

(http://i.imgur.com/VSIeD.png)

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();
Titolo: Re: FTP request in C#
Inserito da: 3n1gm4 - Marzo 03, 2011, 11:32:44 am
Questo è l'errore che mi esce:

(http://i.imgur.com/VSIeD.png)

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
Titolo: Re: FTP request in C#
Inserito da: Pascal - 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
Titolo: Re: FTP request in C#
Inserito da: 3n1gm4 - 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?
Titolo: Re: FTP request in C#
Inserito da: Pascal - Marzo 03, 2011, 02:22:02 pm
LOL risolto, a request2 mancava il metodo a uploadfile! :B


che niubbo! :D
Titolo: Re: FTP request in C#
Inserito da: unreal - 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