看板 Visual_Basic 關於我們 聯絡資訊
請輸入專案類型(網站專案或者應用程式專案): 應用程式 我的程式需要上傳檔案到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