public static Boolean FtpUpload(string ftpPath,string localFile)
{
//检查目录是否存在,不存在创建
FtpCheckDirectoryExist(ftpPath);
FileInfo fi = new FileInfo(localFile);
FileStream fs = fiOpenRead();
long length = fsLength;
FtpWebRequest req = (FtpWebRequest)WebRequestCreate(ftpServerIP + ftpPath + fiName);
reqCredentials = new NetworkCredential(ftpUserID, ftpPassword);
reqMethod = WebRequestMethodsFtpUploadFile;
reqContentLength = length;
reqTimeout = 10 1000;
try
{
Stream stream = reqGetRequestStream();
int BufferLength = 2048; //2K
byte[] b = new byte[BufferLength];
int i;
while ((i = fsRead(b, 0, BufferLength)) > 0)
{
streamWrite(b, 0, i);
}
streamClose();
streamDispose();
}
catch (Exception e)
{
ErrLog(eMessage + eStackTrace);
return false;
}
finally
{
fsClose();
reqAbort();
}
reqAbort();
return true;
}
//判断文件的目录是否存,不存则创建
public static void FtpCheckDirectoryExist(string destFilePath)
{
string fullDir = FtpParseDirectory(destFilePath);
string[] dirs = fullDirSplit('/');
string curDir = "/";
for (int i = 0; i < dirsLength; i++)
{
string dir = dirs[i];
//如果是以/开始的路径,第一个为空
if (dir != null && dirLength > 0)
{
try
{
curDir += dir + "/";
FtpMakeDir(curDir);
}
catch (Exception)
{}
}
}
}
public static string FtpParseDirectory(string destFilePath)
{
return destFilePathSubstring(0, destFilePathLastIndexOf("/"));
}
//创建目录
public static Boolean FtpMakeDir(string localFile)
{
FtpWebRequest req = (FtpWebRequest)WebRequestCreate(ftpServerIP + localFile);
reqCredentials = new NetworkCredential(ftpUserID, ftpPassword);
reqMethod = WebRequestMethodsFtpMakeDirectory;
try
{
FtpWebResponse response = (FtpWebResponse)reqGetResponse();
responseClose();
}
catch (Exception)
{
reqAbort();
return false;
}
reqAbort();
return true;
}首先确定你用的是不是sever-u建立的ftp
如果是就好办了
把你的管理权限的用户名加上16位以上的密码
然后给他们建立一个可以上传还有创建文件夹的用户
不开放删除跟运行功能(很多木马程序如果可以运行就可以删东西)就可以了可能的原因和解决方法如下:
1权限问题:检查ftp用户的权限是否足够创建文件,可以使用chmod命令更改权限。
2磁盘空间不足:检查磁盘空间是否足够创建文件,可以使用df命令查看磁盘空间。
3文件名非法:文件名包含非法字符或者文件名已经存在,可以尝试更改文件名或者删除已经存在的文件。
4ftp服务器配置问题:检查ftp服务器的配置是否正确,可以查看ftp服务器的日志文件以了解详细信息。
如果以上方法均未解决问题,可以尝试重新安装ftp服务器或者更换ftp服务器软件。1234567891011121314151617181920 //创建FTP文件夹 public Boolean FtpMakeDir(string localFile)//想要创建的文件夹 { // _Uri是Uri类的路径 FtpWebRequest req = (FtpWebRequest)WebRequestCreate(_Uri + localFile); reqCredentials = new NetworkCredential(UserName, Password); reqMethod = WebRequestMethodsFtpMakeDirectory; try { FtpWebResponse response = (FtpWebResponse)reqGetResponse(); responseClose(); } catch (Exception) { reqAbort(); return false; } reqAbort(); return true; }在系统中任何的文件夹都可以借助于ftp服务成为共享文件夹,建立文件夹只需要在磁盘位置右键选择”新建文件夹“即可,ftp共享的设置方法可以参考如下 *** 作:
1、在win7上使用ftp服务,需要先安装iis服务,打开 "控制面板",选择"程序" -> "打开或关闭Windows资源",在d出的窗体里找到 “Internet信息服务”,展开后选择“Ftp服务器",然后点击"确定",此时Windows开始更新功能资源列表。
2、然后,自己在IIS管理器中添加FTP站点
在d出的窗口,选择ftp共享目录即可。步骤/方法
1、首先在本地机器上创建一个用户!这些用户是用来登录到FTP的!我的电脑右键->管理->本地用户和组->用户->“右键”新建用户->输入用户名和密码再点创建就行了!
2、其次是在C盘新建文件夹“FTP上传”和“FTP下载”两个文件夹!并在每个文件夹里放不同的文件,以便区分!
3、之后是安装IIS组件!在开始菜单里—>控制面板-〉添加或删除程序->添加/删除windows组件->应用程序服务器->Internet 信息服务->-〉FTP服务器-〉确定-〉完成!这样就把FTP安装在服务器上了!
4、最后就是配置FTP服务器,创建上传和下载服务!创建上传服务器:右键网站->选择添加FTP站点->描述可以根据自己的需要填写->地址一般都是自己的IP地址,端口默认使用21->物理路径指向“C:\FTP上传”->访问权限要钩上“读取”和“写入”->点击完成就把上传的服务创建好了!创建下载服务器:因为21号端口已经被占用所以我们就用2121端口!它的物理路径指向“C:\FTP下载”!只有读取权限!!具体的步骤就看图吧。一、上传服务器图解
5、最后就可以测试刚才建立的ftp服务器是否建立成功了。在浏览器上输入以下地址ftp://19216893即可打开具有上传功能的FTP页面,输入ftp://19216893:2121即可打开只有下载功能的页面了!当然,登录之前还需要你输入开始建立的那个账号及密码:用户名为:wsl。密码为:xxxxxxx。具体如下图吧。
一、登录具有上传功能的ftp服务器
二、登录只有下载共能的ftp服务器
这样你需要建立的ftp服务器就建立成功了。一般安装完FTP , anonymous_enable=YES和 write_enable=YES 有去掉# 号就行的了,,,但之前我也是这样的问题,重启就行了,之后我有好几次都不行,都是重启了就行,记住是虚拟机重启(reboot)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)