【推荐下载】FTPClient上传文件storeFile返回TRUE,但是却没有文件.doc

【推荐下载】FTPClient上传文件storeFile返回TRUE,但是却没有文件.doc

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FTPClient 上传文件 storeFile 返回 TRUE,但是却没有文件 2014/11/14 11 连接是没问题的,目录也都创建了,stroreFile 也返回 true,但 是就是没文件,不知道什么原因,下面是代码 publicbooleanftpUpload(Stringpath,Map String,File files,booleanclear){ FTPClientftpClient=null; FileInputStreamfis=null;try{ ftpClient=ftpConnect(); if(ftpClient==null){ log(“连接 FTP 失败!”); returnfalse; } path=changePath(path); log(“path:”+path); for(Stringp:path.split(“\\”+File.separator)){ if(StringUtil.isNullOrBlank(p))continue; if(!ftpClient.changeWorkingDirectory(p)){ if(!ftpClient.makeDirectory(p)){ log(“创建目录失败,没有权限!”); returnfalse; } ftpClient.changeWorkingDirectory(p); } } log(“FTP 连接成功”); ftpClient.setBufferSize(1024);ftpClient.setControlEncoding(“GBK”);ftpClient.setFileType (FTPClient.BINARY_FILE_TYPE);ftpClient.enterLocalPassiveMode();Set String keys=files.keySet();for(Stringkey:keys){ fis=newFileInputStream(files.get(key)); if(ftpClient.storeFile(key,fis)){ log(“上传到 FTP 成功,”+key); }else{ log(“上传到 FTP 失败,”+key); returnfalse; } if(fis!=null) fis.close();}returntrue; }catch(Exceptione){ log.error(“上传到 FTP 异常”,e); returnfalse; }finally{ try{ if(ftpClient.isConnected()){ ftpClient.disconnect(); } if(fis!=null){ fis.close(); } //清理临时文件 if(clear files.size()!=0){ for(Stringkey:files.keySet()){ if(files.get(key).exists()){ files.get(key).delete(); } } } }catch(IOExceptione){ e.printStackTrace(); } } } 最后总结 一下,我这个代码本身是没有问题的,在 ServU 下测试是通过,并且在其它的项目 也正常运行。最后解决的办法是把原本的一级一级的创建目录,改成直接创建多级 目录,写入文件的 storeFile(filename,fis)里的 filename 也用的全路径。虽然这样是成 功了,但是我觉得原来的方法才更符合 FTP 标准。 题主,我也遇到跟你类似的问 题了。我连接到本地的 FTP 服务器,同样的代码,我单独用一个测试程序是可以实 现上传的,但是当我应用在一个 web 项目中后,就出现了返回 true,但是 FTP 实际 没有文件的情况了。题主你说的将路径写为全路径是什么意思?给个你解决后的示 例代码看看。 ftp.setFileTransferMode(ftp.BINARY_FILE_TYPE);ftp.enterLocalPassiveMode();//Switc htopassivemodeStore=ftp.storeFile(destinationfile,in);in.close();tips:感谢大家的阅读,本 文由我司收集整编。仅供参阅!

文档评论(0)

祝朝兵 + 关注
实名认证
内容提供者

原版文件原创

1亿VIP精品文档

相关文档