当前位置:首页 » 文件管理 » ftpstor

ftpstor

发布时间: 2022-02-15 19:06:21

ftp上传文件,storeFile()为何总返回false

环境:服务器和客户端都是本机的
public void upload(String sourcePath, String targetPath) {try {FTPClient client = getFTPClient(Constants.ftpIP, 21, Constants.ftpUser, Constants.ftpPwd);
client.enterLocalPassiveMode();
InputStream inputStream = null;
File file = new File(sourcePath);
File [] files = file.listFiles();
for(File f : files) {
String fileName = f.getName();
inputStream = new FileInputStream(sourcePath+fileName);
boolean flag = client.storeFile(targetPath+fileName, inputStream);
System.out.println(flag);//为何此处的值是false}logger.info(上传完毕);
client.disconnect();
} catch (Exception e) {
logger.warn(向服务器上上传文件失败, e);}}//测试代码:
fod.upload(f:/b/, f:/a/);//这个结果是false

⑵ 采用ftpclient.storeFile(String, Inputstream)将流写到服务器,没报错但服务器上没有文件,这是怎么回事

//创建一个FtpClient对象

FTPClient ftpClient = new FTPClient();
//上传文件 - 读取本地文件 file:需要上传的文件地址
FileInputStream inputStream = new FileInputStream(file);
//将流写到服务器
ftpclient.storeFile(String, inputStream)
其中String为保存后的文件名,inputStream就是上面获取的文件流

向上面说的服务器上没有文件,
1、可能是你String前面加了地址,但是你的ftp服务器中没有这个文件夹导致的,
2、在以有的文件夹下上传保存,在String前面加/文件夹名,
例:ftpClient.storeFile("/***"+String, inputStream);

(多层文件夹时)有的时候你需要给ftp文件夹设置权限(右击文件夹选择属性--安全--编辑--永许完全控制),可以试一试。最好只用当前层文件夹,否则每层都要设置
3、
ftpClient.makeDirectory("/文件名");//创建文件夹
ftpClient.changeWorkingDirectory("/文件名");改变保存路径
这种的最好只用一层文件夹路径
本人彩笔一枚,大佬请喷。喷完了请把解决思路说一下!!!

⑶ FTP能下载文件 不能上传文件

不知你用的是什么FTP服务器,从出错信息来看,应该是IP绑定的问题,你的FTP服务没有允许你的IP访问它的服务,这个肯定是你的FTP设置的问题
若是简单的使用FTP服务,个人的建议是用Filezilla
FTP
Server,简单方便

⑷ 有大神知道怎么使用python 往ftp服务器上连续上传下载多张图片吗

例:下载、上传文件

#coding:utf-8
fromftplibimportFTP
importtime
importtarfile
importos
#!/usr/bin/python
#-*-coding:utf-8-*-

fromftplibimportFTP

defftpconnect(host,username,password):
ftp=FTP()
#ftp.set_debuglevel(2)
ftp.connect(host,21)
ftp.login(username,password)
returnftp

#从ftp下载文件
defdownloadfile(ftp,remotepath,localpath):
bufsize=1024
fp=open(localpath,'wb')
ftp.retrbinary('RETR'+remotepath,fp.write,bufsize)
ftp.set_debuglevel(0)
fp.close()

#从本地上传文件到ftp
defuploadfile(ftp,remotepath,localpath):
bufsize=1024
fp=open(localpath,'rb')
ftp.storbinary('STOR'+remotepath,fp,bufsize)
ftp.set_debuglevel(0)
fp.close()

if__name__=="__main__":
ftp=ftpconnect("113.105.139.xxx","ftp***","Guest***")
downloadfile(ftp,"Faint.mp4","C:/Users/Administrator/Desktop/test.mp4")
#调用本地播放器播放下载的视频
os.system('start"C:.exe""C:/Users/Administrator/Desktop/test.mp4"')
uploadfile(ftp,"C:/Users/Administrator/Desktop/test.mp4","test.mp4")

ftp.quit()

⑸ FTP文件总是上传失败,怎么回事

"Access denied " 就是不允许打开读写root.txt
把对应文件夹和文件应当设置为允许任何人(即服务器)都可以读写.

⑹ FTP无法连接

注意这段话:
227 Entering Passive Mode (60,165,133,154,13,31)
ERROR: [Data]: Connection refused

PASV模式,PORT模式错误~!

如果你用的是ftp客户端软件请把被动模式选择上就可以了。

补充:返回值:227 Entering Passive Mode (60,165,133,154,13,31)说明
每一个ftp发送之后,ftp服务器都会返回一个字符串,其中包括一个返回代码和一串说明信息。这个返回码主要是用于判断命令是否被成功执行了。除此之外,还有一个非常重要的命令的返回。当发送pasv之后,返回“227 entering passive mode (60,165,133,154,13,31)”。这意味着在服务器上有一个端口被开放,他将为我们后面接着的数据传输作好准备,但是我们如何知道该端口号呢,就在(60,165,133,154,13,31)中,前面四位指服务器的地址,关键是最后两位,将最后第二位乘256再加上最后一位的值就是我们的端口号,也就是13*256+31。取得端口号之后我们就可以用socket连接到这里。这为我们后面的工作作好准备了,因为我们的取得列表,上传,下载文件都要依靠它来实现。常用的返回如下:

125 data connection already open; transfer starting.

226 transfer complete.

227 entering passive mode (60,165,133,154,13,31).

230 user xxxxx logged in.

331 password required for xxxxx.

425 can’t open data connection.

226 closing data connection.

ftp客户端编程结构:

前面已提到了ftp命令及其响应信息。其实我们做ftp客户端工具只不过是用一个winsocket连接上ftp服务器,然后象其发送命令。在这个过程中,我们依靠发送——响应的机制。即发送ftp命令——接收返回的响应信息——分析该信息——执行相关操作——发送下一条命令。在一般意义上,有一个socket用来连接ftp服务器的相关端口(如默认的21),它负责ftp命令的发送和接收返回的响应信息。一些操作如“进入目录”,“删除文件”,依靠这个socket发送一条命令就可完成了。然而对于有数据传输的操作,主要是显示远端目录列表,上传、下载文件,我们不得不依靠另一个socket来完成。在进行这种操作之前,必须发送pasv命令,它返回了227开头的信息,在括号中有以逗号隔开的六个数字,前四个指服务器的地址,关键是最后两个,将倒数第二个乘256再加上最后一个数字,其结果就是ftp服务器开放的用于下一条命令来进行数据传输的端口。如我们得到227 entering passive mode (60,165,133,154,13,31),那么端口号是13*256+31=3359。我们用一个socket来连接这个端口,之后,我们可根据具体的操作(显示目录list,上传文件stor,下载retr)来发送命令。返回的响应代码为125开头,也就是连接打开了,可以开始传输数据,这时就可用socket的发送或接收方法来传输数据。完成之后,服务器会返回代码226 transfer complete,表明数据传输完成。值得注意的是,我们最好不要一次发送多条命令,例如我们要回到上层目录并且显示这个目录,我们得发送cp,pasv,list,我们不能一下子发送:cp\r\n, pasv\r\n, list\r\n。 而是发送完cp之后等待其响应代码,然后再发送后面一条。当pasv返回之后,我们打开另一个socket连接到相关端口上。然后发送list,返回125之后在开始接收数据,最后返回226表明完成。对于上传和下载也是差不多的过程(下载之前要先取得文件的大小)。

java代码ftp.storefile传送文件,文件太大为什么会突然终止

可能是你的电脑文件系统,FAT32只支持4G以下,

⑻ python 检测FTP目录是否为空

ftp相关命令操作
ftp.cwd(pathname) #设置FTP当前操作的路径
ftp.dir() #显示目录下文件信息
ftp.nlst() #获取目录下的文件
ftp.mkd(pathname) #新建远程目录
ftp.pwd() #返回当前所在位置
ftp.rmd(dirname) #删除远程目录
ftp.delete(filename) #删除远程文件
ftp.rename(fromname, toname)#将fromname修改名称为toname。
ftp.storbinaly("STOR filename.txt",file_handel,bufsize) #上传目标文件
ftp.retrbinary("RETR filename.txt",file_handel,bufsize)#下载FTP文件

⑼ FTP上传文件总是上传失败

你的FTP
可能
不稳定,不知道你用的是哪个网站的FTP,也可能是你用的FTP网站装有杀毒软件
你的珍藏版的东东可能绑有病毒一类的东东,或者绑定让杀毒软件敏感的
词语
,你换换FTP
或者检查下你珍藏版的东东,是否留有
后门程序

⑽ FTPClient.storeFile报连接超时。但是已经能login,而且建立了文件夹了。再调storeFile时报错。

我遇到过这个问题,改成在建立连接之前设置被动模式,就可以上传了。

热点内容
压缩10次 发布:2024-10-26 02:19:57 浏览:743
路由器怎么用手机设置密码 发布:2024-10-26 02:04:06 浏览:941
删除键值php 发布:2024-10-26 02:01:36 浏览:346
一台阿里云服务器搭建视频网站 发布:2024-10-26 02:00:01 浏览:665
qq独立密码怎么解除 发布:2024-10-26 01:34:49 浏览:44
快存储组件 发布:2024-10-26 01:25:43 浏览:846
电脑内存不够租用服务器 发布:2024-10-26 01:19:03 浏览:598
氟压缩机房 发布:2024-10-26 01:09:45 浏览:405
httpurlconnection缓存 发布:2024-10-26 01:04:24 浏览:810
三星手机锁屏怎么设置密码 发布:2024-10-26 01:00:35 浏览:847