显示图像而不保存

时间:2016-06-16 09:54:10

标签: android

我的应用可以从树莓下载图像。它工作正常。这是代码

public void downloadFile() {

        FTPClient ftpClient = new FTPClient();
        try {

            ftpClient.connect("******");
            ftpClient.login("****","*****");
            ftpClient.enterLocalPassiveMode();
            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);


            String remoteFile1;

            File downloadFile1 = new File(filePath);


            OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(downloadFile1));
            boolean success = ftpClient.retrieveFile(remoteFile1, outputStream1);
            outputStream1.close();

            if (success) {
                System.out.println("File #1 has been downloaded successfully.");
            } else {
                System.out.println("Error in downloading file !");
            }

            boolean logout = ftpClient.logout();
            if (logout) {
                System.out.println("Connection close...");
            }

        } catch (IOException ex) {
            System.out.println("Error: " + ex.getMessage());
            ex.printStackTrace();
        } finally {
            try {
                ftpClient.disconnect();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }

然后我可以显示它,以便我的应用程序的用户可以看到它。对于图像加载,我使用此代码也可以。

private void loadImage(String imagePath) {
        Uri imageUri;
        String fullImagePath;
        Drawable image;
        ImageView imageDisplay;

        imageUri = Uri.parse(imagePath);
        fullImagePath = imageUri.getPath();
        image = Drawable.createFromPath(fullImagePath);

        imageDisplay=(ImageView) findViewById(R.id.imageDisplay);

        imageDisplay.setImageDrawable(image);
    }

现在我想显示图片而不在我的图库中下载。但我无法弄清楚如何做到这一点。 有人可以帮帮我吗。

2 个答案:

答案 0 :(得分:0)

如果不下载图像,则无法显示图像。实际上当你看到"远程"时,你正在下载它。

如果您的意思是图片太大并且您不想下载,但想要一种机制供用户查看。一种可能的解决方案是在服务器端制作缩略图(缩小图像)并显示"预览"给用户。然后,如果用户想要将其下载到图库,则可以获得原始图像。

答案 1 :(得分:0)

如果您想要在不下载的情况下显示图像,则必须将其上传到图像托管网站或类似网站,以便您只使用链接而不是整个FTP客户端。

基本上,您使用的是用于保存图像的代码。您用于加载图像的那个从Drawable中获取数据。所以你走错了路。