私のAndroidアプリでは、FTP接続を使用してサーバーに画像を保存したいと思います。res/drawable
私のAndroidアプリの*フォルダーにapple.pngという名前の画像があります。FTPres/drawable
に送信するフォルダー内の画像のパスを除いて、すべての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
フォルダーのイメージパスに「そのようなファイルまたはディレクトリはありません」と表示されます。ではres/drawable
、アプリケーションでフォルダのパスを取得するにはどうすればよいですか?
この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();
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加