作者ymzk (┌◎-◎┐)
看板Visual_Basic
标题[.NET] FTP上传
时间Fri Feb 15 14:38:32 2013
请输入专案类型(网站专案或者应用程式专案):
应用程式
我的程式需要上传档案到FTP上
我使用最简单的 Code My.COmputer.NetWork.UploadFile(.....)
连线後 会出现错误
从别人无名小站下载的原始码
Dim uri As Uri = New Uri("ftp://127.0.0.1/ASPNET.doc")
Dim upldRqst As FtpWebRequest = CType(WebRequest.Create(uri), FtpWebRequest)
upldRqst.Method = WebRequestMethods.Ftp.UploadFile
upldRqst.Credentials = New NetworkCredential(HR_ftpusername,
HR_ftpuserpassword)
Dim myStream As FileStream = New FileStream("D:\ASPNET.doc", FileMode.Open)
Dim dataByte As Byte() = New Byte(myStream.Length - 1) {}
'将上传文件读入 dataByte 中
myStream.Read(dataByte, 0, dataByte.Length)
myStream.Close()
Dim rqstStream As Stream
rqstStream = upldRqst.GetRequestStream()
rqstStream.Write(dataByte, 0, dataByte.Length)
rqstStream.Close()
好像少宣告了一些东西~"~ 不知道要怎宣告...(所以还没测试过)
在来就是更长CODE版本的@@
Public Shared Function ftpUploadFile(ByVal ftpuser As String, ByVal ftppd As
String, ByVal ftpUrl As String, ByVal localFile As String) As String
Dim ftpRequest As System.Net.FtpWebRequest =
CType(System.Net.FtpWebRequest.Create(ftpUrl), System.Net.FtpWebRequest)
ftpRequest.Credentials = New System.Net.NetworkCredential(ftpuser,
ftppd)
ftpRequest.KeepAlive = False
ftpRequest.UseBinary = False
ftpRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile
Dim ftpRequestStream As System.IO.Stream
Dim statusDescription As String
Try
ftpRequestStream = ftpRequest.GetRequestStream
Catch ex As Exception
statusDescription = ex.Message
Return statusDescription
End Try
Dim fileStream As System.IO.FileStream
Try
fileStream = System.IO.File.Open(localFile, IO.FileMode.Open,
IO.FileAccess.Read)
Catch ex As Exception
statusDescription = ex.Message
Return statusDescription & "---档案开启发生错误---"
End Try
'Dim buffer(8192) As Byte
Dim buffer() As Byte = New Byte((fileStream.Length) - 1) {}
Dim byteRead As Integer
While True
byteRead = fileStream.Read(buffer, 0, buffer.Length)
If byteRead = 0 Then Exit While
ftpRequestStream.Write(buffer, 0, byteRead)
End While
fileStream.Close()
ftpRequestStream.Close()
'FTP伺服器对要求的回应
Dim ftpResponse As System.Net.FtpWebResponse
Try
ftpResponse = CType(ftpRequest.GetResponse(),
System.Net.FtpWebResponse)
Catch ex As Exception
statusDescription = ex.Message
Return statusDescription
End Try
statusDescription = ftpResponse.StatusDescription
ftpResponse.Close()
Return statusDescription
End Function
这个CODE 好像也好像也会出错不能用~"~
不知道还有甚麽方法 可以连线FTP呢?!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.177.2.7
1F:推 sss22213:可以告诉我 到底my.computer.network.uploadfile到底遇到 03/14 22:52
2F:→ sss22213:啥错误 03/14 22:52