我的应用可以从树莓下载图像。它工作正常。这是代码
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);
}
现在我想显示图片而不在我的图库中下载。但我无法弄清楚如何做到这一点。 有人可以帮帮我吗。
答案 0 :(得分:0)
如果不下载图像,则无法显示图像。实际上当你看到"远程"时,你正在下载它。
如果您的意思是图片太大并且您不想下载,但想要一种机制供用户查看。一种可能的解决方案是在服务器端制作缩略图(缩小图像)并显示"预览"给用户。然后,如果用户想要将其下载到图库,则可以获得原始图像。
答案 1 :(得分:0)
如果您想要在不下载的情况下显示图像,则必须将其上传到图像托管网站或类似网站,以便您只使用链接而不是整个FTP客户端。
基本上,您使用的是用于保存图像的代码。您用于加载图像的那个从Drawable中获取数据。所以你走错了路。