如何在android中获取res文件夹的路径

时间:2014-03-29 07:21:26

标签: android ftp

在我的Android应用程序中,我想使用 FTP 连接在服务器上存储图像。我在我的Android应用程序名为apple.png的res/drawable *文件夹中有一个图像。除了发送到的res/drawable文件夹中的图像路径外,我的所有FTP连接都能正常工作 FTP。请参考下面的代码。

Uri url = Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.apple);//apple.png image    
                try{
                    SimpleFTP ftp = new SimpleFTP();
                    ftp.connect("Serverip", server port, "myUserName", "myPassword");//works fine
                    ftp.bin();
                    ftp.cwd("Upload path of server");//works fine
                    ftp.stor(new File(url.toString()));//file not found exception
                    ftp.disconnect();
                }

在上面的代码中,FTP连接工作正常,但res/drawable文件夹的图像路径给出了#34;没有这样的文件或目录"。那么如何在应用程序中获取res/drawable文件夹的路径?

2 个答案:

答案 0 :(得分:1)

SimpleFTP.stor()方法有一个接受FileInputStream对象的重载。 getResources().openRawResource()方法可以为您的apple.png资源提供必要的流。

try
{
    SimpleFTP ftp = new SimpleFTP();
    ftp.connect("Serverip", serverport, "myUserName", "myPassword");
    ftp.bin(); 
    ftp.cwd("Upload path of server");
    ftp.stor(getResources().openRawResource(R.drawable.apple), "apple.png");
    ftp.disconnect(); 
}

答案 1 :(得分:0)

please that image in asset folder and give it as

String stringPath = "android.resource://[your_package_name]/raw/sample"