作者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
推 sss22213:可以告訴我 到底my.computer.network.uploadfile到底遇到 03/14 22:52
→ sss22213:啥錯誤 03/14 22:52