我正在尝试将CSV文件上传到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()
非常感谢我可以使用的任何其他代码的帮助或建议。
非常感谢。
很明显,您在第二个参数中错了。看来,您的路径不能像硬盘中的绝对路径一样是相对路径,因此请更改此
'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所写)