Das war nur einmal mit dem Host. Sonst bekomme ich wenn nur diesen Yolly Error: nullErstmal solten wir klären warum du die Exception von Post
#94 bekommst.
Alle Dateien laufen logischerweise auf einem Webserver. Da jeder Appnutzer darauf zugreifen muss....Dazu würde mich interessieren wo du deine php läuft. Auf einem lokalen Server im LAN oder ein Webserver im Netz?
Äh...Die URL funktioniert, da die Zip Datei ohne den Filter gesendet wird.
Die Fehlermeldung ist eindeutig: der Hostname konnte nicht in eine IP-Adresse aufgelöst werden.Volley Error: com.android.volley.NoConnectionError: java.net.UnknownHostException: Unable to resolve host "www---.de": No address associated with hostname
Dann wird es halt einfach ein Aussetzer gewesen sein. Sowas probiert man öfter, bevor man sich an ein Forum wendet.Das war nur einmal mit dem Host
Das war nur 1 mal, sonst bekomme ich immer eine Yolly Error, aber die Datei lädt trotzdem ohne Filter hoch.Äh...
Die Fehlermeldung ist eindeutig: der Hostname konnte nicht in eine IP-Adresse aufgelöst werden.
Das heißt du hast zwei php Scripte eines mit deinem so genanten Filter,Außerdem in Postmann klappt alles einwandfrei. Sogar das Hochladen mit dem Type.
Du scheinst hier einiges durcheinander zu bringen. Exception, Volly Error und ResponseDas war nur 1 mal, sonst bekomme ich immer eine Yolly Error, aber die Datei lädt trotzdem ohne Filter hoch.
Das heißt du hast zwei php Scripte eines mit deinem so genanten Filter,
und eines ohne deinem Filter (prüfen auf richtige Datei Endung).
JaLaufen den wirklich beide mit Postman?
Zeige doch mal was du genau als Response bekommst.
Ich bekomme in der App kein Response mehr. Nach längerem Warten ein Volly Error: null, aber es lädt trotzdem ohne Filter hoch.Du scheinst hier einiges durcheinander zu bringen. Exception, Volly Error und Response
Ja, #102 und #103 hatten sich überschnitten. Daher habe ich #103 nochmal aktualisiert.Das war nur 1 mal, sonst bekomme ich immer eine Yolly Error, aber die Datei lädt trotzdem ohne Filter hoch.
Woher weist du das? Hast du die Datei wirklich auf dem server und kasst du sie auch öffnen und entpacken?Ich bekomme in der App kein Response mehr. Nach längerem Warten ein Volly Error: null, aber es lädt trotzdem ohne Filter hoch.
Ja, #102 und #103 hatten sich überschnitten. Daher habe ich #103 nochmal aktualisiert.
Ansonsten: wie sieht denn die von Dir überschriebene Methode getByteData() aktuell aus?
public byte[] getArrayFromZip( String zipPath) {
File myFile = new File(zipPath);
ByteArrayOutputStream byteBuffer = null;
try (InputStream inputStream = new FileInputStream(myFile)) {
byteBuffer = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
byteBuffer.write(buffer, 0, len);
}
}catch (IOException e){
Log.e("Free Entwickler", "IOException: " + e);
}
return byteBuffer.toByteArray();
}
Ja ich konnte die Öffnen und mit dem Passwort entpacken. Nur die Zip vom App ist manchmal nicht geht, da ich zu oft die gleiche Zip. ne verschlüsselt habe. Ansonsten geht das.Woher weist du das? Hast du die Datei wirklich auf dem server und kasst du sie auch öffnen und entpacken?
Ich lese da nix von getByteData().getArrayFromZip
Vom Server gelöscht, nach ca. 10 Seck Volly Error: null.Lösche die Datei auch auf dem Server bevor du einen neuen Versuch machst.
und dort steht der Type drinnen? Habe gesehen das ist eine Methode von dem VollyMultipartRequest Klasse. Kann mann da was mitsenden:Ich lese da nix von getByteData().
@Override
protected Map<String, DataPart> getByteData() {
Map<String, DataPart> params = new HashMap<>();
byte[] zipArray = getArrayFromZip(zipUri);
params.put("zip", new DataPart("E" + kundennummer + ".zip", zipArray));
return params;
}
Hast du die Fotos nicht gesehen? ALs Typ erhalte ich in der App nur den Type: "" und in Postmann steht da das richtig drinnen.Lasse dir doch den typ in deinen php Im Response mitgeben.
$_FILES['zip']['type']
Pache das mit in dein respons json
if($check){
$array['format'] = $_FILES['zip']['type'];
$array['response'] = "erfolgreich hochgeladen";
echo json_encode($array);
}else{
$array['format'] = $_FILES['zip']['type'];
$array['response'] = "nicht erfolgreich hochladen";
echo json_encode($array);
}
Seit dem 17. 10 ist keine Logs aufgetaucht. Server Access??Was sagt den das php log und server access logs in den Fällen, in denen du null bekommst?
Habe ich dir doch in Post #117 gezeigt. Als Type erhalte ich: ""Du sollst schauen was in deinen ohne Filter Script in der Variablen $_FILES['zip']['type'].
Steht
Und sas solte inder Response mitgehen weden.
new DataPart("E" + kundennummer + ".zip", zipArray)
public DataPart(String name, byte[] data, String type) {
fileName = name;
content = data;
this.type = type;
}
Ist genau das was ich in post #125 auch gesagt habe.Der Type wird doch in der Entity nicht gesetzt. Wenn Du den Type gesetzt haben willst, dann wirst Du da vermutlich den Code anpassen müssen.
Derzeit hast Du ja nur einen Konstruktor mit zwei Parametern, den Du dann so aufrufst:new DataPart("E" + kundennummer + ".zip", zipArray)
Du kannst da aber noch einen Konstruktor hinzu fügen:
Java:public DataPart(String name, byte[] data, String type) { fileName = name; content = data; this.type = type; }
Dann kannst Du den type noch bei Erstellung des DataPart mit angeben.
Der Code vom Request hatte - so ich mich richtig erinnere - den type schon korrekt mitgegeben...
Der Type wird doch in der Entity nicht gesetzt. Wenn Du den Type gesetzt haben willst, dann wirst Du da vermutlich den Code anpassen müssen.
Derzeit hast Du ja nur einen Konstruktor mit zwei Parametern, den Du dann so aufrufst:new DataPart("E" + kundennummer + ".zip", zipArray)
Du kannst da aber noch einen Konstruktor hinzu fügen:
Java:public DataPart(String name, byte[] data, String type) { fileName = name; content = data; this.type = type; }
Dann kannst Du den type noch bei Erstellung des DataPart mit angeben.
Also das Umändern?Denn typ denn du in deimem php benutzen willst.
public class DataPart {
private String fileName;
private byte[] content;
private String type;
public DataPart() {
}
public DataPart(String name, byte[] data, String format) {
fileName = name;
content = data;
type = format;
}
@Override
protected Map<String, DataPart> getByteData() {
Map<String, DataPart> params = new HashMap<>();
byte[] zipArray = getArrayFromZip(zipUri);
params.put("zip", new DataPart("E" + kundennummer + ".zip", zipArray), "application/zip");
return params;
}
};