如何从ftp加载图像并使用picasso库处理它?

时间:2015-08-06 15:19:20

标签: android picasso

我想从我的ftp服务器加载图像并使用picasso库显示它 有可能吗?
这是我的代码,但.load()不接受InputStream。有什么建议吗?

try {

          FTPClient mFTPClient = new FTPClient();
          mFTPClient.connect("ftp.server.com");      
          mFTPClient.login("user","pass");
          mFTPClient.enterLocalPassiveMode();
          mFTPClient.changeWorkingDirectory("/public_ftp/");
          inStream = mFTPClient.retrieveFileStream("18.jpg");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println( "Error communicating with FTP server." );
        }
         Picasso.with(this)
        .load(inStream)
        .placeholder(R.drawable.local_wallpaper) 
        .resize(200, 200)
        .centerInside()
        .into(mc, new com.squareup.picasso.Callback() {
                            @Override
                            public void onSuccess() {
                                Log.v("", "success");

                            }

                            @Override
                            public void onError() {
                                Log.v("", "Error");
                            }
                        });

1 个答案:

答案 0 :(得分:1)

正如Damien所说,picasso似乎无法做到这一点。

以下是您可以尝试的一些建议,

  1. 使用其他工具下载ftp图像,并从内存中加载图片。但这会损害picasso - 图像缓存的一个非常重要的特征。如果你想要,你必须自己编写代码。
  2. 在服务器中创建一个模块以获取ftp映像,并使用http协议将其作为常规映像转储。
  3. Dnkutso建议here使用自定义RequestHandler。但是我无法告诉你任何关于它的事情。