Avatar billede halden Nybegynder
06. august 2007 - 10:22 Der er 3 kommentarer

ftp ssp

Hejsa,
jeg har et lille problem med ftp over ssl. Jeg benytter System.Net.FtpWebRequest men når jeg kalder GetRequestStream() får jeg bare følgende fejl:
Den underliggende forbindelse blev lukket: Der opstod en uventet fejl ved modtagelse..

Hvad kan dette skyldes???
Avatar billede halden Nybegynder
06. august 2007 - 10:23 #1
og titlen skal selvfølgelig være ftp ssl...
Avatar billede halden Nybegynder
06. august 2007 - 10:28 #2
her er ftp metoden til upload:

public bool Upload(Stream sourceStream, string targetFilename)
        {
            // validate the target file
            string target;
            if (string.IsNullOrEmpty(targetFilename))
            {
                throw new ApplicationException("Target filename must be specified");
            }
            else if (targetFilename.Contains("/"))
            {
                // treat as full path
                target = AdjustDir(targetFilename);
            }
            else
            {
                target = CurrentDirectory + targetFilename;
            }

            string URI = Hostname + target;
            //perform copy
            System.Net.FtpWebRequest ftp = GetRequest(URI);

            //Set request to upload a file in binary
            ftp.Method = System.Net.WebRequestMethods.Ftp.UploadFile;
            ftp.UseBinary = true;

            //Notify FTP of the expected size
            ftp.ContentLength = sourceStream.Length;

            //create byte array to store: ensure at least 1 byte!
            const int BufferSize = 2048;
            byte[] content = new byte[BufferSize - 1 + 1];
            int dataRead;

            //open file for reading
            using (sourceStream)
            {
                try
                {
                    sourceStream.Position = 0;
                    //open request to send
                    using (Stream rs = ftp.GetRequestStream())
                    {
                        do
                        {
                            dataRead = sourceStream.Read(content, 0, BufferSize);
                            rs.Write(content, 0, dataRead);
                        } while (!(dataRead < BufferSize));
                        rs.Close();
                    }
                    return true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    //ensure file closed
                    //sourceStream.Close();
                    ftp = null;
                }
            }
            return false;
        }
Avatar billede halden Nybegynder
06. august 2007 - 10:30 #3
og her er metoden skal laver System.Net.FtpWebRequest...

private FtpWebRequest GetRequest(string uri)
        {
            //create request
            FtpWebRequest result = (FtpWebRequest)FtpWebRequest.Create(uri);
            //Set the login details
            result.Credentials = new System.Net.NetworkCredential(Username, Password);
            // support for EnableSSL
            result.EnableSsl = EnableSsl;
            //keep alive? (stateless mode)
            result.KeepAlive = KeepAlive;
            // support for passive connections
            result.UsePassive = UsePassive;
            // support for proxy settings
            result.Proxy = Proxy;
            return result;
        }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester