Ejemplo n.º 1
0
        public void UploadFile(string source, string dest)
        {
            ManualResetEvent waitObject;

            Uri target = new Uri(dest);
            FtpState state = new FtpState();
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(target);
            request.Method = WebRequestMethods.Ftp.UploadFile;

            request.Credentials = new NetworkCredential("ingenkia", "cT8CSz9u");

            state.Request = request;
            state.FileName = source;

            waitObject = state.OperationComplete;

            request.BeginGetRequestStream(new AsyncCallback(EndGetStreamCallback), state);

            waitObject.WaitOne();

            if (state.OperationException != null)
            {
                throw state.OperationException;
            }
            else
            {
                Console.WriteLine("Done");
            }
        }
Ejemplo n.º 2
0
        public void UploadFile(string source, string dest)
        {
            ManualResetEvent waitObject;

            Uri           target  = new Uri(dest);
            FtpState      state   = new FtpState();
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(target);

            request.Method = WebRequestMethods.Ftp.UploadFile;

            request.Credentials = new NetworkCredential("ingenkia", "cT8CSz9u");

            state.Request  = request;
            state.FileName = source;

            waitObject = state.OperationComplete;

            request.BeginGetRequestStream(new AsyncCallback(EndGetStreamCallback), state);

            waitObject.WaitOne();

            if (state.OperationException != null)
            {
                throw state.OperationException;
            }
            else
            {
                Console.WriteLine("Done");
            }
        }
Ejemplo n.º 3
0
        private void EndGetResponseCallback(IAsyncResult ar)
        {
            FtpState       state    = (FtpState)ar.AsyncState;
            FtpWebResponse response = null;

            try
            {
                response = (FtpWebResponse)state.Request.EndGetResponse(ar);
                response.Close();
                state.StatusDescription = response.StatusDescription;
                state.OperationComplete.Set();
            }
            catch (Exception e)
            {
                Console.WriteLine("Error getting response.");
                state.OperationException = e;
                state.OperationComplete.Set();
            }
        }
Ejemplo n.º 4
0
        private void EndGetStreamCallback(IAsyncResult ar)
        {
            FtpState state = (FtpState)ar.AsyncState;

            Stream requestStream = null;

            try
            {
                requestStream = state.Request.EndGetRequestStream(ar);
                const int bufferLength = 2048;
                byte[]    buffer       = new byte[bufferLength];
                int       count        = 0;
                int       readBytes    = 0;

                FileStream stream = File.OpenRead(state.FileName);
                do
                {
                    readBytes = stream.Read(buffer, 0, bufferLength);
                    requestStream.Write(buffer, 0, readBytes);
                    count += readBytes;

                    if (OnProgressChange != null)
                    {
                        OnProgressChange(count / (double)stream.Length);
                    }
                }while (readBytes != 0);

                requestStream.Close();

                state.Request.BeginGetResponse(new AsyncCallback(EndGetResponseCallback), state);
            }
            catch (Exception e)
            {
                Console.WriteLine("Could not get the request stream.");
                state.OperationException = e;
                state.OperationComplete.Set();
                return;
            }
        }
Ejemplo n.º 5
0
        private bool UploadFile(string sourceFilePath, string destFileName)
        {
            ManualResetEvent waitObject;

            Uri target = new Uri(webDir + '/' + destFileName);
            FtpState state = new FtpState();
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(target);
            request.Method = WebRequestMethods.Ftp.UploadFile;

            request.Credentials = new NetworkCredential(username, password);

            state.Request = request;
            state.FileName = sourceFilePath;

            waitObject = state.OperationComplete;

            request.BeginGetRequestStream(new AsyncCallback(EndGetStreamCallback), state);

            waitObject.WaitOne();

            if( state.OperationException != null)
            {
                throw state.OperationException;
                return false;
            }
            else
            {
                Console.WriteLine("Done");
                return true;
            }
        }