当前位置: 首页 > 知识库问答 >
问题:

用于存储文档的FTPSClient

令狐昌胤
2023-03-14

我使用Apache IO FTPSClient在FTPS服务器上放置文档时遇到问题。我能够连接到服务器。我的状态很好(返回211)。如果我要求一个目录列表,我得到空。

// context is the SSL context
FTPSClient client = new FTPSClient(context);
InputStream stream = null;
    try {
        // fetching a document from a URL.  returning the input stream.
        // The stream is not null
        ContentDocDO docDo = soapClient.fetchDocument(docURL, contextOpt);
        stream = docDo.getStream();


        client.connect("someftpserver.com");
        client.enterLocalPassiveMode();
        client.login("someuser", "somepassword");
        client.changeWorkingDirectory("/RIM/test");
        System.out.println("client status: "+client.getStatus());
        // Changing the name of the document to be stored
        String fileName = docNameMap.get(name) + docDo.getContentType();

        client.storeFile(fileName,stream);
        stream.close();
    } catch (IOException e) {
         e.printStackTrace();
    }
     finally {
         try{
            if(stream != null){
                stream.close();
            }
         client.disconnect();
     }catch(IOException e){

         e.printStackTrace();
     }
}

我没有看到任何错误。我可以通过FileZilla连接到服务器。它在TLS上使用显式FTP。

感谢任何帮助。

共有1个答案

苏彦君
2023-03-14

我对现状看得太狭隘了。我添加了以下行:

client.addProtocolCommandListener(new PrintCommandListener(
                            new PrintWriter(System.out)));

这让我看到防护装置没有被设置。然后添加:

client.execPROT("P");

允许所有人通过。

 类似资料:
  • 问题内容: 我正在尝试检索过去一年的文档,每个文档都放入1个月宽的存储桶中。我将为每个1个月的存储时段提取文档,然后进一步分析它们(超出我的问题范围)。从描述中看来,“桶聚合”似乎是可行的方法,但是在“桶”响应中,我仅获得每个桶中的文档计数,而不是原始文档本身。我想念什么? GET命令 结果输出 问题答案: 您快到了,您只需要添加一个子聚合即可为每个存储桶检索一些文档:

  • 简而言之:如果您有大量不同大小的文档,其中相对较少的文档达到最大对象大小,那么在MongoDB中存储这些文档的最佳实践是什么? 我有一套文件,比如: 值列表的长度因文档而异。对于大多数文档,它将有几个元素,对于少数文档,它将有数千万个元素,我将达到MongoDB中的最大对象大小限制。问题是,我为那些非常大(而且相对较少)的文档提出的任何特殊解决方案都可能会对我存储小文档的方式产生影响,否则,这些小

  • 使用spring data for mongodb,如何指定存储库方法的返回类型以包含文档中的特定属性?前任: 存储库: 上面的findAllNames按预期工作,只从文档中获取name属性。然而,spring数据返回的对象是Foo对象的字符串表示,该对象具有id和name属性,值和其余属性为null。我需要获取列表,而不是Foo对象

  • 小米对象存储服务 FDS 用户文档,包含FDS的基本介绍,以及详细的API与参数讲解。小米对象存储(File Storage Service,简称FDS),是小米云平台提供的海量、安全、低成本、高可靠及高扩展的云存储服务。

  • 问题内容: java.sql.Timestamp构造函数如下所示: 它基本上以毫秒为单位接受时间,然后提取最后3位数字并将其设置为毫微秒。因此对于1304135631 421 的毫秒值,我得到的Timestamp.getnanos()为 421000000 。这是简单的计算(最后添加6个零)…似乎不是最佳方法。 更好的方法是Timestamp构造函数,它接受以纳秒为单位的时间,然后从中计算出纳秒值

  • 问题内容: 我正在寻找一个存储过程代码,该代码将打开一个文本文件,读取几千行,并将该代码添加到数据库中的表中。有一种简单的方法可以在T-SQL中实现吗? 问题答案: 如果文件已准备好按原样加载(无需数据转换或复杂映射),则可以使用“批量插入”命令: http://msdn.microsoft.com/en- us/library/ms188365.aspx