Jay*_* Ng 2 .net c# c#-3.0 c#-4.0
我在尝试上传到 FTP 时遇到上述错误。但是当我尝试从本地计算机运行此代码时,它出现错误。好心提醒。
这是我的代码如下:
static void Main(string[] args)
{
var yourListOfFilePaths = Directory.GetFiles(filepath);
using (ZipFile zip = new ZipFile())
{
foreach (string filePath in yourListOfFilePaths)
{
zip.AddFile(filePath); // FILE PATH LOCATION / WHICH FOLDER FILES YOU WANTED TO ZIP
zip.Password = "abc1234"; // CHANGE YOUR PASSWORD HERE
}
zip.Save(ZipPath + "\\Batch_" + DateTime.Now.ToString("ddMMyy") + ".zip");
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("http://www.bitrix24.com/" + "\\Batch_" + DateTime.Now.ToString("ddMMyy") + ".zip");
request.Method = WebRequestMethods.Ftp.UploadFile;
// This example assumes the FTP site uses anonymous logon.
request.Credentials = new NetworkCredential("jayden@bitrix24.com", "abc123");
// Copy the contents of the file to the request stream.
StreamReader sourceStream = new StreamReader(ZipPath + "\\Batch_" + DateTime.Now.ToString("ddMMyy") + ".zip");
byte[] fileContents = File.ReadAllBytes("filepath");
sourceStream.Close();
request.ContentLength = fileContents.Length;
request.KeepAlive = false;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
这:
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("http://www.bitrix24.com/"
+ "\\Batch_" + DateTime.Now.ToString("ddMMyy") + ".zip");
Run Code Online (Sandbox Code Playgroud)
是你的问题。您发送的地址以“http”而不是“ftp”开头。
更改您的网址:
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.bitrix24.com/" +
"\\Batch_" + DateTime.Now.ToString("ddMMyy") + ".zip");
Run Code Online (Sandbox Code Playgroud)