远程服务器返回错误:(451)上传到VB.Net中的FTP站点时处理错误中的本地错误

问题描述 投票:0回答:1

我正在尝试将CS​​V文件上传到FTP站点。

我的代码发布在下面,但出现错误远程服务器返回错误:(451)处理中的本地错误。我可以通过FileZilla访问文件并将其上传到FTP,并通过代码获得响应(仅读取部分目录),但是无法通过我的代码将任何内容上传到FTP。

下面是我通常用于FTP上传的代码:

Dim myWebClient As New WebClient()
myWebClient.UploadFile(ftp://username:[email protected]/directory/filename.csv, C:/localdirectory/localuploadfile.csv)

我也尝试了以下代码,但在同时运行以下代码后仍然出现错误:

Dim clsRequest As System.Net.FtpWebRequest = DirectCast(FtpWebRequest.Create(New Uri(ftpdirectory)), FtpWebRequest)
clsRequest.Credentials = New System.Net.NetworkCredential("username", "password")
clsRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile

Dim bfile() As Byte = System.IO.File.ReadAllBytes(FileToBeUploaded)

Dim clsStream As System.IO.Stream = clsRequest.GetRequestStream()
clsStream.Write(bfile, 0, bfile.Length)
clsStream.Close()
clsStream.Dispose()
Dim Request As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create(ftpdirectory), System.Net.FtpWebRequest)
Request.Credentials = New System.Net.NetworkCredential("username", "password")
Request.Method = System.Net.WebRequestMethods.Ftp.UploadFile
Request.UsePassive = True

Dim File() As Byte = System.IO.File.ReadAllBytes(FileToBeUploaded)

Dim strz As System.IO.Stream = Request.GetRequestStream()
strz.Write(File, 0, File.Length)
strz.Close()
strz.Dispose()

非常感谢我可以使用的任何其他代码的帮助或建议。

非常感谢。

vb.net ftp
1个回答
0
投票

很明显,您在第二个参数中错了。看来,您的路径不能像硬盘中的绝对路径一样是相对路径,因此请更改此

'myWebClient.UploadFile("ftp://username:[email protected]/directory/filename.csv", "C:/localdirectory/localuploadfile.csv")

输入

myWebClient.UploadFile("ftp://username:[email protected]/directory/filename.csv", "C:\localdirectory\localuploadfile.csv")

所以,重要:在个人计算机中的绝对路径中使用反斜杠(此“ \”而不是此“ /”)。字符串路径中也缺少双引号(如@Hardcode所写)

© www.soinside.com 2019 - 2024. All rights reserved.