N
N3cron
Fortgeschrittenes Mitglied
- 1
Hallo zusammen. Ich hoffe ihr könnt mir nochmals helfen. Ich hatte es hier schon mal als Thema drin, bekomme es aber alleine nicht bewältigt.
Ich möchte wie zb hier im Forum eine datei als Anhang hochladen.
Mein Filechooser öffnet sich, und ich kann ein Foto auswählen. Funktion ist in Ordnung. Sobald ich das Foto ausgewhlt habe bekomme ich per Toast genau den "Filepath" gesagt wo es liegt und wie das JPG heisst.
Als dateianhang steht aber nur eine ziffer dort.
Beispiel test.jpg heisst dann 19881
Obwohl mir per Toast der richtige Pfad und Name gesagt wird. Das ganze scheint irgendwie der "uploadmessage" zu versauen. Ich hoffe ihr könnt mir helfen. Habe Tage lang schon daran gesessen aber bekomme es nicht hin.
Hier der Code
Danke für Antworten und Hilfe
Ich möchte wie zb hier im Forum eine datei als Anhang hochladen.
Mein Filechooser öffnet sich, und ich kann ein Foto auswählen. Funktion ist in Ordnung. Sobald ich das Foto ausgewhlt habe bekomme ich per Toast genau den "Filepath" gesagt wo es liegt und wie das JPG heisst.
Als dateianhang steht aber nur eine ziffer dort.
Beispiel test.jpg heisst dann 19881
Obwohl mir per Toast der richtige Pfad und Name gesagt wird. Das ganze scheint irgendwie der "uploadmessage" zu versauen. Ich hoffe ihr könnt mir helfen. Habe Tage lang schon daran gesessen aber bekomme es nicht hin.
Hier der Code
HTML:
webView.setWebChromeClient(new WebChromeClient() {
public void openFileChooser(ValueCallback<Uri> uploadMsg) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
startActivityForResult(Intent.createChooser(i, "File Chooser"),
MainActivity.FILECHOOSER_RESULTCODE);
}
// For Android 3.0+
public void openFileChooser(ValueCallback uploadMsg,
String acceptType) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
startActivityForResult(Intent.createChooser(i, "File Chooser"),
MainActivity.FILECHOOSER_RESULTCODE);
}
// For Android 4.1
public void openFileChooser(ValueCallback<Uri> uploadMsg,
String acceptType, String capture) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
startActivityForResult(Intent.createChooser(i, "File Chooser"),
MainActivity.FILECHOOSER_RESULTCODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
if (requestCode == FILECHOOSER_RESULTCODE) {
if (null == mUploadMessage)
return;
Uri result = intent == null || resultCode != Activity.RESULT_OK ? null
: intent.getData();
if (result != null) {
String filePath = null;
if ("content".equals(result.getScheme())) {
Cursor cursor = this
.getContentResolver()
.query(result,
new String[] { android.provider.MediaStore.Images.ImageColumns.DATA },
null, null, null);
cursor.moveToFirst();
filePath = cursor.getString(0);
cursor.close();
Toast.makeText(this, "Pfad" + filePath, Toast.LENGTH_SHORT)
.show();
} else {
filePath = result.getPath();
}
mUploadMessage.onReceiveValue(result);
mUploadMessage = null;
}
}
Danke für Antworten und Hilfe