上传的FTP文件 [英] Upload file on ftp

查看:124
本文介绍了上传的FTP文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从一个服务器上传文件到另一台FTP服务器,下面是我的code上传文件,但它抛出一个错误:{远程服务器返回错误:(550)文件不可用(例如: ,未找到文件,没有访问权限)。}

I want to upload file from one server to another ftp server and following is my code to upload file but it is throwing an error as: {"The remote server returned an error: (550) File unavailable (e.g., file not found, no access)."}

这是我的code:

    string CompleteDPath = "ftp URL";
    string UName = "UserName";
    string PWD = "Password";
    WebRequest reqObj = WebRequest.Create(CompleteDPath + FileName);
    reqObj.Method = WebRequestMethods.Ftp.UploadFile;
    reqObj.Credentials = new NetworkCredential(UName, PWD);
    FileStream streamObj = System.IO.File.OpenRead(Server.MapPath(FileName));
    byte[] buffer = new byte[streamObj.Length + 1];
    streamObj.Read(buffer, 0, buffer.Length);
    streamObj.Close();
    streamObj = null;
    reqObj.GetRequestStream().Write(buffer, 0, buffer.Length);
    reqObj = null; 

能否请你告诉我,我错了?

Can you please tell me where i am going wrong?

推荐答案

请确保您的FTP路径设置如下图所示。

Please make sure your ftp path is set as shown below.

string CompleteDPath = "ftp://www.example.com/wwwroot/videos/";

string FileName = "sample.mp4";

WebRequest reqObj = WebRequest.Create(CompleteDPath + FileName);

通过FTP上传文件和视频到另一个施维雅下面的脚本工作的高度和我在一起。

The following script work great with me for uploading files and videos to another servier via ftp.

FtpWebRequest ftpClient = (FtpWebRequest)FtpWebRequest.Create(ftpurl + "" + username + "_" + filename);
ftpClient.Credentials = new System.Net.NetworkCredential(ftpusername, ftppassword);
ftpClient.Method = System.Net.WebRequestMethods.Ftp.UploadFile;
ftpClient.UseBinary = true;
ftpClient.KeepAlive = true;
System.IO.FileInfo fi = new System.IO.FileInfo(fileurl);
ftpClient.ContentLength = fi.Length;
byte[] buffer = new byte[4097];
int bytes = 0;
int total_bytes = (int)fi.Length;
System.IO.FileStream fs = fi.OpenRead();
System.IO.Stream rs = ftpClient.GetRequestStream();
while (total_bytes > 0)
{
   bytes = fs.Read(buffer, 0, buffer.Length);
   rs.Write(buffer, 0, bytes);
   total_bytes = total_bytes - bytes;
}
//fs.Flush();
fs.Close();
rs.Close();
FtpWebResponse uploadResponse = (FtpWebResponse)ftpClient.GetResponse();
value = uploadResponse.StatusDescription;
uploadResponse.Close();

这篇关于上传的FTP文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆