Prendre des photos et de les convertir en Base64
J'utilise le code ci-dessous pour faire une photo avec l'appareil photo. Au lieu de l'enregistrer, je voudrais coder à Base64
et après que le passer à une autre API comme une entrée. Je ne peux pas voir la méthode, comment modifier le code pour prendre des photos dans Base64
au lieu des fichiers ordinaires.
public class CameraDemoActivity extends Activity {
int TAKE_PHOTO_CODE = 0;
public static int count = 0;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final String dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder/";
File newdir = new File(dir);
newdir.mkdirs();
Button capture = (Button) findViewById(R.id.btnCapture);
capture.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
count++;
String file = dir+count+".jpg";
File newfile = new File(file);
try {
newfile.createNewFile();
}
catch (IOException e)
{
}
Uri outputFileUri = Uri.fromFile(newfile);
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(cameraIntent, TAKE_PHOTO_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == TAKE_PHOTO_CODE && resultCode == RESULT_OK) {
Log.d("CameraDemo", "Pic saved");
}
}
}
J'essaie d'utiliser le code ci-dessous pour convertir une image en Base64
.
public static String encodeToBase64(Bitmap image, Bitmap.CompressFormat compressFormat, int quality)
{
ByteArrayOutputStream byteArrayOS = new ByteArrayOutputStream();
image.compress(compressFormat, quality, byteArrayOS);
return Base64.encodeToString(byteArrayOS.toByteArray(), Base64.DEFAULT);
}
Décrit ci-dessus devrait être beaucoup plus direct et le plus simple de la façon que l'enregistrement de l'image et après que la recherche de l'image à encoder.
I try to use code below to convert an image to Base64
. Pas de code pour convertir une image Bitmap en base64. Et vous avez une .fichier jpg. Pas de bitmap.newfile.createNewFile();
. Supprimer ce. L'application Appareil photo va créer le fichier.take pictures in Base64 instead of regular files
. ?? On ne peut pas comparer base64 avec un fichier.OriginalL'auteur plaidshirt | 2016-03-23
Vous devez vous connecter pour publier un commentaire.
Essayez ce qui suit:
ImageUri Bitmap:
Encoder Bitmap en base64
Encoder de Chemin d'accès en base64
de sortie:
En outre, il est encore un fichier enregistré par l'application appareil photo. L'OP a demandé quelque chose sans un fichier.
Mais tout d'abord, je ne vois pas le fichier. Je suis à l'aide de TC pour la recherche, mais il n'est nulle part.
que faire si l'image est au format PNG au lieu de JPG?
Base64.encodeToString()
est pas définiOriginalL'auteur Fabio Venturi Pastor
J'ai écrit mon code comme ceci :
Il fonctionne parfaitement...
OriginalL'auteur Loris Foe