FtpWebRequest UploadFile

Discussion in 'ASP .Net Web Controls' started by Thom Little, Nov 13, 2005.

  1. Thom Little

    Thom Little Guest

    I posted the WebClient versions in this Newsgroups.

    The FtpWebRequest DownloadFile version is ...

    private byte[] byWork = new byte[2047] ;
    private int iWork ;

    private void DownloadFile(string strAddress, string strUsername, string
    strPassword )
    {
    this.lblStatus.Visible = false ;
    try
    {
    FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create("ftp://" +
    strAddress );
    req.Credentials = new NetworkCredential(strUsername, strPassword );
    req.Method = WebRequestMethods.Ftp.DownloadFile ;
    FtpWebResponse resp = (FtpWebResponse)req.GetResponse( );
    Stream rs = resp.GetResponseStream( );
    FileStream fs = new FileStream(this.tbAddressClient.Text.ToString(),
    FileMode.Create );
    do {
    iWork = rs.Read(byWork, 0, byWork.Length);
    fs.Write(byWork, 0, iWork);
    } while (iWork != 0);
    fs.Flush();
    fs.Close();
    rs.Close();
    resp.Close();
    this.lblStatus.Text = "File Download - Success";
    }
    catch
    {
    this.lblStatus.Text = "File Download - Failed" ;
    }
    this.lblStatus.Visible = true ;
    }

    Has anyone seen a simple working FtpWebRequest UploadFile example?

    --
    -- Thom Little -- www.tlanet.net -- Thom Little Associates, Ltd.
    --
    Thom Little, Nov 13, 2005
    #1
    1. Advertising

  2. Hi Thom,

    Welcome to ASPNET newsgroup.
    As for the FtpWebRequest class, do you mean the one in the .NET framework
    2.0 's build-in class library? If so, here is a simple code snippet which
    upload a file to the local FTP server(with anonymous access turn on):

    ======================
    private void UploadFile()
    {
    ManualResetEvent waitObject;

    Uri target = new Uri("ftp://localhost/testfile.cs");
    string fileName = "c:\myproject\test.cs";

    FtpWebRequest request =
    (FtpWebRequest)WebRequest.Create(target);
    request.Method = WebRequestMethods.Ftp.UploadFile;



    Stream requestStream = request.GetRequestStream();

    FileStream fs = File.Open(fileName, FileMode.Open);

    byte[] buf = new byte[1024];

    int i;

    while((i=fs.Read(buf,0,buf.Length))>0)
    {
    requestStream.Write(buf, 0, i);
    }

    requestStream.Close();

    FtpWebResponse response = request.GetResponse() as
    FtpWebResponse;

    MessageBox.Show(response.StatusDescription);

    response.Close();

    }

    ======================

    Hope helps. Thanks,

    Steven Cheng
    Microsoft Online Support

    Get Secure! www.microsoft.com/security
    (This posting is provided "AS IS", with no warranties, and confers no
    rights.)



    --------------------
    | From: "Thom Little" <>
    | Subject: FtpWebRequest UploadFile
    | Date: Sun, 13 Nov 2005 17:45:57 -0500
    | Lines: 46
    | X-Priority: 3
    | X-MSMail-Priority: Normal
    | X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
    | X-RFC2646: Format=Flowed; Original
    | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
    | Message-ID: <#>
    | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
    | NNTP-Posting-Host: 65.99.185.176
    | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09.phx.gbl
    | Xref: TK2MSFTNGXA02.phx.gbl
    microsoft.public.dotnet.framework.aspnet.webcontrols:31122
    | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
    |
    | I posted the WebClient versions in this Newsgroups.
    |
    | The FtpWebRequest DownloadFile version is ...
    |
    | private byte[] byWork = new byte[2047] ;
    | private int iWork ;
    |
    | private void DownloadFile(string strAddress, string strUsername, string
    | strPassword )
    | {
    | this.lblStatus.Visible = false ;
    | try
    | {
    | FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create("ftp://" +
    | strAddress );
    | req.Credentials = new NetworkCredential(strUsername, strPassword );
    | req.Method = WebRequestMethods.Ftp.DownloadFile ;
    | FtpWebResponse resp = (FtpWebResponse)req.GetResponse( );
    | Stream rs = resp.GetResponseStream( );
    | FileStream fs = new FileStream(this.tbAddressClient.Text.ToString(),
    | FileMode.Create );
    | do {
    | iWork = rs.Read(byWork, 0, byWork.Length);
    | fs.Write(byWork, 0, iWork);
    | } while (iWork != 0);
    | fs.Flush();
    | fs.Close();
    | rs.Close();
    | resp.Close();
    | this.lblStatus.Text = "File Download - Success";
    | }
    | catch
    | {
    | this.lblStatus.Text = "File Download - Failed" ;
    | }
    | this.lblStatus.Visible = true ;
    | }
    |
    | Has anyone seen a simple working FtpWebRequest UploadFile example?
    |
    | --
    | -- Thom Little -- www.tlanet.net -- Thom Little Associates, Ltd.
    | --
    |
    |
    |
    |
    Steven Cheng[MSFT], Nov 14, 2005
    #2
    1. Advertising

  3. Thom Little

    Thom Little Guest

    This isn't quite what I needed. This is EXACTLY what I needed.

    The input stream needs to be closed.

    What is the advantage in defining a Uri that used once vs. just using the
    string without the Uri creation?

    Thank you for the help. (My original attempt had a bug that I found after
    seeing yours solution.)

    --
    -- Thom Little -- www.tlanet.net -- Thom Little Associates, Ltd.
    --

    "Steven Cheng[MSFT]" <> wrote in message
    news:...
    > Hi Thom,
    >
    > Welcome to ASPNET newsgroup.
    > As for the FtpWebRequest class, do you mean the one in the .NET framework
    > 2.0 's build-in class library? If so, here is a simple code snippet which
    > upload a file to the local FTP server(with anonymous access turn on):
    >
    > ======================
    > private void UploadFile()
    > {
    > ManualResetEvent waitObject;
    >
    > Uri target = new Uri("ftp://localhost/testfile.cs");
    > string fileName = "c:\myproject\test.cs";
    >
    > FtpWebRequest request =
    > (FtpWebRequest)WebRequest.Create(target);
    > request.Method = WebRequestMethods.Ftp.UploadFile;
    >
    >
    >
    > Stream requestStream = request.GetRequestStream();
    >
    > FileStream fs = File.Open(fileName, FileMode.Open);
    >
    > byte[] buf = new byte[1024];
    >
    > int i;
    >
    > while((i=fs.Read(buf,0,buf.Length))>0)
    > {
    > requestStream.Write(buf, 0, i);
    > }
    >
    > requestStream.Close();
    >
    > FtpWebResponse response = request.GetResponse() as
    > FtpWebResponse;
    >
    > MessageBox.Show(response.StatusDescription);
    >
    > response.Close();
    >
    > }
    >
    > ======================
    >
    > Hope helps. Thanks,
    >
    > Steven Cheng
    > Microsoft Online Support
    >
    > Get Secure! www.microsoft.com/security
    > (This posting is provided "AS IS", with no warranties, and confers no
    > rights.)
    >
    >
    >
    > --------------------
    > | From: "Thom Little" <>
    > | Subject: FtpWebRequest UploadFile
    > | Date: Sun, 13 Nov 2005 17:45:57 -0500
    > | Lines: 46
    > | X-Priority: 3
    > | X-MSMail-Priority: Normal
    > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
    > | X-RFC2646: Format=Flowed; Original
    > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
    > | Message-ID: <#>
    > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
    > | NNTP-Posting-Host: 65.99.185.176
    > | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09.phx.gbl
    > | Xref: TK2MSFTNGXA02.phx.gbl
    > microsoft.public.dotnet.framework.aspnet.webcontrols:31122
    > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
    > |
    > | I posted the WebClient versions in this Newsgroups.
    > |
    > | The FtpWebRequest DownloadFile version is ...
    > |
    > | private byte[] byWork = new byte[2047] ;
    > | private int iWork ;
    > |
    > | private void DownloadFile(string strAddress, string strUsername,
    > string
    > | strPassword )
    > | {
    > | this.lblStatus.Visible = false ;
    > | try
    > | {
    > | FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create("ftp://" +
    > | strAddress );
    > | req.Credentials = new NetworkCredential(strUsername, strPassword );
    > | req.Method = WebRequestMethods.Ftp.DownloadFile ;
    > | FtpWebResponse resp = (FtpWebResponse)req.GetResponse( );
    > | Stream rs = resp.GetResponseStream( );
    > | FileStream fs = new FileStream(this.tbAddressClient.Text.ToString(),
    > | FileMode.Create );
    > | do {
    > | iWork = rs.Read(byWork, 0, byWork.Length);
    > | fs.Write(byWork, 0, iWork);
    > | } while (iWork != 0);
    > | fs.Flush();
    > | fs.Close();
    > | rs.Close();
    > | resp.Close();
    > | this.lblStatus.Text = "File Download - Success";
    > | }
    > | catch
    > | {
    > | this.lblStatus.Text = "File Download - Failed" ;
    > | }
    > | this.lblStatus.Visible = true ;
    > | }
    > |
    > | Has anyone seen a simple working FtpWebRequest UploadFile example?
    > |
    > | --
    > | -- Thom Little -- www.tlanet.net -- Thom Little Associates, Ltd.
    > | --
    > |
    > |
    > |
    > |
    >
    Thom Little, Nov 14, 2005
    #3
  4. Thanks for your respones Thom,

    Yes, the FileStream should be closed which I missed. As for using Uri class
    or directly string operation, it is another story which somewhat related to
    the concept of URI (URN and URL) , and here, there is no critical concerns
    on using Uri or just string path. Sometimes, when we don't know the path
    string in advance(dynamically generate URL from string...), using Uri class
    can help avoid including some invalid chars which may cause security issue.

    Thanks,

    Steven Cheng
    Microsoft Online Support

    Get Secure! www.microsoft.com/security
    (This posting is provided "AS IS", with no warranties, and confers no
    rights.)

    --------------------
    | From: "Thom Little" <>
    | References: <#>
    <>
    | Subject: Re: FtpWebRequest UploadFile
    | Date: Mon, 14 Nov 2005 10:31:18 -0500
    | Lines: 143
    | X-Priority: 3
    | X-MSMail-Priority: Normal
    | X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
    | X-RFC2646: Format=Flowed; Original
    | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
    | Message-ID: <>
    | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
    | NNTP-Posting-Host: 65.99.185.176
    | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09.phx.gbl
    | Xref: TK2MSFTNGXA02.phx.gbl
    microsoft.public.dotnet.framework.aspnet.webcontrols:31134
    | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
    |
    | This isn't quite what I needed. This is EXACTLY what I needed.
    |
    | The input stream needs to be closed.
    |
    | What is the advantage in defining a Uri that used once vs. just using the
    | string without the Uri creation?
    |
    | Thank you for the help. (My original attempt had a bug that I found
    after
    | seeing yours solution.)
    |
    | --
    | -- Thom Little -- www.tlanet.net -- Thom Little Associates, Ltd.
    | --
    |
    | "Steven Cheng[MSFT]" <> wrote in message
    | news:...
    | > Hi Thom,
    | >
    | > Welcome to ASPNET newsgroup.
    | > As for the FtpWebRequest class, do you mean the one in the .NET
    framework
    | > 2.0 's build-in class library? If so, here is a simple code snippet
    which
    | > upload a file to the local FTP server(with anonymous access turn on):
    | >
    | > ======================
    | > private void UploadFile()
    | > {
    | > ManualResetEvent waitObject;
    | >
    | > Uri target = new Uri("ftp://localhost/testfile.cs");
    | > string fileName = "c:\myproject\test.cs";
    | >
    | > FtpWebRequest request =
    | > (FtpWebRequest)WebRequest.Create(target);
    | > request.Method = WebRequestMethods.Ftp.UploadFile;
    | >
    | >
    | >
    | > Stream requestStream = request.GetRequestStream();
    | >
    | > FileStream fs = File.Open(fileName, FileMode.Open);
    | >
    | > byte[] buf = new byte[1024];
    | >
    | > int i;
    | >
    | > while((i=fs.Read(buf,0,buf.Length))>0)
    | > {
    | > requestStream.Write(buf, 0, i);
    | > }
    | >
    | > requestStream.Close();
    | >
    | > FtpWebResponse response = request.GetResponse() as
    | > FtpWebResponse;
    | >
    | > MessageBox.Show(response.StatusDescription);
    | >
    | > response.Close();
    | >
    | > }
    | >
    | > ======================
    | >
    | > Hope helps. Thanks,
    | >
    | > Steven Cheng
    | > Microsoft Online Support
    | >
    | > Get Secure! www.microsoft.com/security
    | > (This posting is provided "AS IS", with no warranties, and confers no
    | > rights.)
    | >
    | >
    | >
    | > --------------------
    | > | From: "Thom Little" <>
    | > | Subject: FtpWebRequest UploadFile
    | > | Date: Sun, 13 Nov 2005 17:45:57 -0500
    | > | Lines: 46
    | > | X-Priority: 3
    | > | X-MSMail-Priority: Normal
    | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
    | > | X-RFC2646: Format=Flowed; Original
    | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
    | > | Message-ID: <#>
    | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
    | > | NNTP-Posting-Host: 65.99.185.176
    | > | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09.phx.gbl
    | > | Xref: TK2MSFTNGXA02.phx.gbl
    | > microsoft.public.dotnet.framework.aspnet.webcontrols:31122
    | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
    | > |
    | > | I posted the WebClient versions in this Newsgroups.
    | > |
    | > | The FtpWebRequest DownloadFile version is ...
    | > |
    | > | private byte[] byWork = new byte[2047] ;
    | > | private int iWork ;
    | > |
    | > | private void DownloadFile(string strAddress, string strUsername,
    | > string
    | > | strPassword )
    | > | {
    | > | this.lblStatus.Visible = false ;
    | > | try
    | > | {
    | > | FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create("ftp://" +
    | > | strAddress );
    | > | req.Credentials = new NetworkCredential(strUsername, strPassword
    );
    | > | req.Method = WebRequestMethods.Ftp.DownloadFile ;
    | > | FtpWebResponse resp = (FtpWebResponse)req.GetResponse( );
    | > | Stream rs = resp.GetResponseStream( );
    | > | FileStream fs = new
    FileStream(this.tbAddressClient.Text.ToString(),
    | > | FileMode.Create );
    | > | do {
    | > | iWork = rs.Read(byWork, 0, byWork.Length);
    | > | fs.Write(byWork, 0, iWork);
    | > | } while (iWork != 0);
    | > | fs.Flush();
    | > | fs.Close();
    | > | rs.Close();
    | > | resp.Close();
    | > | this.lblStatus.Text = "File Download - Success";
    | > | }
    | > | catch
    | > | {
    | > | this.lblStatus.Text = "File Download - Failed" ;
    | > | }
    | > | this.lblStatus.Visible = true ;
    | > | }
    | > |
    | > | Has anyone seen a simple working FtpWebRequest UploadFile example?
    | > |
    | > | --
    | > | -- Thom Little -- www.tlanet.net -- Thom Little Associates, Ltd.
    | > | --
    | > |
    | > |
    | > |
    | > |
    | >
    |
    |
    |
    Steven Cheng[MSFT], Nov 15, 2005
    #4
  5. Thom Little

    Thom Little Guest

    The final "operate on a file" version that I came up with (with your ideas
    folded in) are ...

    private void DownloadFile( string strFilename, string strAddress, string
    strUsername, string strPassword )
    {
    byte[] buf = new byte[2047];
    int iWork ;
    FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create("ftp://" +
    strAddress + strFilename );
    req.Credentials = new NetworkCredential(strUsername, strPassword );
    req.Method = WebRequestMethods.Ftp.DownloadFile ;
    FtpWebResponse resp = (FtpWebResponse)req.GetResponse( );
    Stream rs = resp.GetResponseStream( );
    FileStream fs = new FileStream(this.tbAddressClient.Text.ToString() +
    strFilename, FileMode.Create);
    while ( ( iWork = rs.Read( buf, 0, buf.Length ) ) > 0 )
    fs.Write( buf, 0, iWork );
    fs.Close();
    rs.Close();
    }

    private void UploadFile( string strFilename, string strAddress, string
    strUsername, string strPassword )
    {
    byte[] buf = new byte[2048] ;
    int iWork ;
    FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create("ftp://" +
    strAddress + strFilename);
    req.Credentials = new NetworkCredential(strUsername, strPassword);
    req.Method = WebRequestMethods.Ftp.UploadFile ;
    Stream rs = req.GetRequestStream( );
    FileStream fs = File.Open(this.tbAddressClient.Text.ToString() +
    strFilename, FileMode.Open);
    while ( ( iWork = fs.Read( buf, 0, buf.Length ) ) > 0 )
    rs.Write( buf, 0, iWork );
    rs.Close();
    fs.Close();
    }

    .... thanks for the help.

    My next (final) step is to come up with the "operate on a folder" version.

    --
    -- Thom Little -- www.tlanet.net -- Thom Little Associates, Ltd.
    --

    "Steven Cheng[MSFT]" <> wrote in message
    news:%...
    > Thanks for your respones Thom,
    >
    > Yes, the FileStream should be closed which I missed. As for using Uri
    > class
    > or directly string operation, it is another story which somewhat related
    > to
    > the concept of URI (URN and URL) , and here, there is no critical
    > concerns
    > on using Uri or just string path. Sometimes, when we don't know the path
    > string in advance(dynamically generate URL from string...), using Uri
    > class
    > can help avoid including some invalid chars which may cause security
    > issue.
    >
    > Thanks,
    >
    > Steven Cheng
    > Microsoft Online Support
    >
    > Get Secure! www.microsoft.com/security
    > (This posting is provided "AS IS", with no warranties, and confers no
    > rights.)
    Thom Little, Nov 15, 2005
    #5
  6. Cool! And thanks for sharing this with us.

    Also, please feel free to post here when you've finished other parts or if
    any thing need asistance.

    Regards,

    Steven Cheng
    Microsoft Online Support

    Get Secure! www.microsoft.com/security
    (This posting is provided "AS IS", with no warranties, and confers no
    rights.)
    --------------------
    | From: "Thom Little" <>
    | References: <#>
    <>
    <>
    <#>
    | Subject: Re: FtpWebRequest UploadFile
    | Date: Tue, 15 Nov 2005 07:35:51 -0500
    | Lines: 74
    | X-Priority: 3
    | X-MSMail-Priority: Normal
    | X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
    | X-RFC2646: Format=Flowed; Original
    | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
    | Message-ID: <>
    | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
    | NNTP-Posting-Host: 65.99.185.176
    | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09.phx.gbl
    | Xref: TK2MSFTNGXA02.phx.gbl
    microsoft.public.dotnet.framework.aspnet.webcontrols:31143
    | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
    |
    | The final "operate on a file" version that I came up with (with your
    ideas
    | folded in) are ...
    |
    | private void DownloadFile( string strFilename, string strAddress,
    string
    | strUsername, string strPassword )
    | {
    | byte[] buf = new byte[2047];
    | int iWork ;
    | FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create("ftp://" +
    | strAddress + strFilename );
    | req.Credentials = new NetworkCredential(strUsername, strPassword );
    | req.Method = WebRequestMethods.Ftp.DownloadFile ;
    | FtpWebResponse resp = (FtpWebResponse)req.GetResponse( );
    | Stream rs = resp.GetResponseStream( );
    | FileStream fs = new FileStream(this.tbAddressClient.Text.ToString() +
    | strFilename, FileMode.Create);
    | while ( ( iWork = rs.Read( buf, 0, buf.Length ) ) > 0 )
    | fs.Write( buf, 0, iWork );
    | fs.Close();
    | rs.Close();
    | }
    |
    | private void UploadFile( string strFilename, string strAddress, string
    | strUsername, string strPassword )
    | {
    | byte[] buf = new byte[2048] ;
    | int iWork ;
    | FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create("ftp://" +
    | strAddress + strFilename);
    | req.Credentials = new NetworkCredential(strUsername, strPassword);
    | req.Method = WebRequestMethods.Ftp.UploadFile ;
    | Stream rs = req.GetRequestStream( );
    | FileStream fs = File.Open(this.tbAddressClient.Text.ToString() +
    | strFilename, FileMode.Open);
    | while ( ( iWork = fs.Read( buf, 0, buf.Length ) ) > 0 )
    | rs.Write( buf, 0, iWork );
    | rs.Close();
    | fs.Close();
    | }
    |
    | ... thanks for the help.
    |
    | My next (final) step is to come up with the "operate on a folder" version.
    |
    | --
    | -- Thom Little -- www.tlanet.net -- Thom Little Associates, Ltd.
    | --
    |
    | "Steven Cheng[MSFT]" <> wrote in message
    | news:%...
    | > Thanks for your respones Thom,
    | >
    | > Yes, the FileStream should be closed which I missed. As for using Uri
    | > class
    | > or directly string operation, it is another story which somewhat
    related
    | > to
    | > the concept of URI (URN and URL) , and here, there is no critical
    | > concerns
    | > on using Uri or just string path. Sometimes, when we don't know the
    path
    | > string in advance(dynamically generate URL from string...), using Uri
    | > class
    | > can help avoid including some invalid chars which may cause security
    | > issue.
    | >
    | > Thanks,
    | >
    | > Steven Cheng
    | > Microsoft Online Support
    | >
    | > Get Secure! www.microsoft.com/security
    | > (This posting is provided "AS IS", with no warranties, and confers no
    | > rights.)
    |
    |
    |
    Steven Cheng[MSFT], Nov 15, 2005
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Darqer
    Replies:
    1
    Views:
    1,307
    GinaM
    Nov 6, 2006
  2. Replies:
    2
    Views:
    533
  3. =?Utf-8?B?QmlsbA==?=

    Passing DefaultCredentials to an FtpWebRequest

    =?Utf-8?B?QmlsbA==?=, Mar 21, 2007, in forum: ASP .Net
    Replies:
    0
    Views:
    369
    =?Utf-8?B?QmlsbA==?=
    Mar 21, 2007
  4. BizWorld

    FTPWebRequest failing - URGENT

    BizWorld, Jun 15, 2007, in forum: ASP .Net
    Replies:
    1
    Views:
    1,448
    BizWorld
    Jun 15, 2007
  5. Dan
    Replies:
    0
    Views:
    688
Loading...

Share This Page