ftp를 통해 파일을 호스트에 업로드해야합니다. 호스트의 루트에 생성 된 /home2/travele2
경로 원격 서버에서 오류를 반환했습니다 : FtpWebRequest를 사용하여 FTP에 파일 업로드시 (550)
내가 호스트에 FileZilla의 프로그램을 통해 파일을 업로드 할 수 있습니다,하지만 난 웹 사이트를 통해 파일을 업로드하려고 할 때, 그것은 나에게이 오류 가져옵니다
The remote server returned an error: (550) File unavailable (e.g., file not found, no access).
무엇 문제는 무엇입니까?
// Get the object used to communicate with the server.
FtpWebRequest ftpWebRequest = (FtpWebRequest)WebRequest.Create("ftp://00.00.00.00/home2/travele2");
ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile;
// This example assumes the FTP site uses anonymous logon.
ftpWebRequest.Credentials = new NetworkCredential("aaaaaaa", "0000000");
// Copy the contents of the file to the request stream.
StreamReader sourceStream = new StreamReader(Server.MapPath("/Content/Site.pdf"));
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
ftpWebRequest.ContentLength = fileContents.Length;
Stream requestStream = ftpWebRequest.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)ftpWebRequest.GetResponse();
Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);
response.Close();
을 오류가이 라인에서 오는 것 같다 :'에서는 FtpWebRequest에서는 FtpWebRequest = (에서는 FtpWebRequest)이 WebRequest.Create ("ftp://00.00.00.00/home2/travele2") ; '(이 폴더에 대한 권한이 있고 파일이 있습니까?). try-catch 블록을'WebException'과 함께 사용하면'var status = ((FtpWebResponse) e.Response) .StatusDescription; '에 실제 문제가 있습니다. –
무슨 권한이 필요합니까? – programmer138200
폴더 쓰기 접근 권한 ... 당신이 이미 그 폴더에 대한 파일 쓰기 권한을 부여 받았다고 가정 할 때, 앞서 언급 한 것처럼'WebException'으로 그 원인을 찾을 수 있습니다. –