私はアンドロイドでURLを取得し、このコードの64ビットデータ列にデータ・ストリームを変換:結果にreapeatを付けてベース64に変換しますか?
URL url = new URL("http://iranassistance.com/images/sos-logo.png");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
//urlConnection.setDoOutput(true);
urlConnection.connect();
File SDCardRoot = Environment.getExternalStorageDirectory().getAbsoluteFile();
String filename="downloadedFile.png";
Log.i("Local filename:",""+filename);
File file = new File(SDCardRoot,filename);
if(file.createNewFile()) {
file.createNewFile();
}
FileOutputStream fileOutput = new FileOutputStream(file);
InputStream inputStream = urlConnection.getInputStream();byte[] imageBytes = new byte[urlConnection.getContentLength()];
inputStream.read(imageBytes, 0, imageBytes.length);
inputStream.close();
String base64Image = Base64.encodeToString(imageBytes, Base64.DEFAULT);
しかしbase64Image結果が完了していないと、このような何か与えた:
を..../o2RfctcZtc8Hr5xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ..nUTJaJnb7PLyscfBMQLLiexyKSEh ........
繰り返し '' ショーの何かが間違っているとIMAですゲットは完全ではありません!なぜこれが正しく動作しないのですか?
あなたは自分の画像に渡すBASE64に画像を変換するには、次の機能を使用することができます
を。それはビットマップする必要はありません! – Mohammad
これは問題ではありません。 ** read **の部分は間違っています。それは、エンコードするバイトが**完全でない**ときに、エンコードを見るのに役立ちません。 – GhostCat
画像URLがある場合はまずビットマップに変換してから、関数 –