Страница: 1 |
Вопрос: VB.net - как скачать файл с ftp-сервера (с указ...
Добавлено: 06.06.03 21:40
Автор вопроса: Gr | Web-сайт: www.vbnet.ru
Доброго времени суток!
Как в VB.net скачать файл с ftp-сервера с указанием имени пользователя и пароля. Если есть какой-нибудь бесплатный компонент для VB.net/6, желательно со свойством сколько процентов скачано.
P.S. из тех вариантов что были предложены по этому вопросу на этом форуме мне подошел один вариант (бесплатный ocx FTPClient, но там нету свойства сколько % скачано).
Спасибо!
Ответить
Номер ответа: 2Автор ответа: Alex
Вопросов: 0Ответов: 3
Профиль | | #2
Добавлено: 11.08.09 16:46
Загрузка на фтп:
Public Sub Upload(ByVal filename As String )
Dim ftpServerIP As String = "80.90.100.110"
Dim ftpUserID As String = "login"
Dim ftpPassword As String = "password"
Dim fileInf As New IO.FileInfo(filename)
Dim uri As String = "ftp://" + ftpServerIP + "/" + fileInf.Name
Dim reqFTP As System.Net.FtpWebRequest
reqFTP = System.Net.FtpWebRequest.Create(New Uri(uri))
reqFTP.Credentials = New System.Net.NetworkCredential(ftpUserID, ftpPassword)
reqFTP.KeepAlive = False
reqFTP.Method = System.Net.WebRequestMethods.Ftp.UploadFile
reqFTP.UseBinary = True
reqFTP.ContentLength = fileInf.Length
Dim buffLength As Integer = 2048
Dim buff(buffLength) As Byte
Dim contentLen As Integer
Dim fs As IO.FileStream = fileInf.OpenRead()
Try
Dim strm As IO.Stream = reqFTP.GetRequestStream()
contentLen = fs.Read(buff, 0, buffLength)
While contentLen <> 0
strm.Write(buff, 0, contentLen)
contentLen = fs.Read(buff, 0, buffLength)
End While
strm.Close()
fs.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "Upload Error" )
End Try
End Sub
Процент загрузки здесь сделать, думаю, не сложно.
Ответить
Номер ответа: 3Автор ответа: Alex
Вопросов: 0Ответов: 3
Профиль | | #3
Добавлено: 11.08.09 16:48
Загрузка с фтп (на C#, но переделывается аналогично как я переделал вариант выше):
private void Download(string filePath, string fileName)
{
FtpWebRequest reqFTP;
try
{
//filePath = <<The full path where the
//file is to be created. the>>,
//fileName = <<Name of the file to be createdNeed not
//name on FTP server. name name()>>
FileStream outputStream = new FileStream(filePath +
"\\" + fileName, FileMode.Create);
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" +
ftpServerIP + "/" + fileName));
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
reqFTP.UseBinary = true ;
reqFTP.Credentials = new NetworkCredential(ftpUserID,
ftpPassword);
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
Stream ftpStream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = 2048;
int readCount;
byte [] buffer = new byte ;
readCount = ftpStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}
ftpStream.Close();
outputStream.Close();
response.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Ответить
Страница: 1 |
Поиск по форуму