HttpClient = UNGÜLTIGE URI - Escaped absolute path nicht gültig
Ich versuche zum hochladen/löschen einer Datei in webdav-server mit HttpClient. Dennoch ist keine Arbeit, wenn ich eine Datei name besteht aus Raum . Ich bekam eine Fehlermeldung "UNGÜLTIGE URI--- Escaped absolute path nicht gültig".
diese meine URL = "http://localhost:8080/test file.txt"
private boolean delete(String fileName) {
HttpClient client = new HttpClient();
HttpHost host = new HttpHost(WEBDAV_URL, PORT_NUMBER);
client.getHostConfiguration().setHost(host);
DeleteMethod del = new DeleteMethod(WEBDAV_URL_COMPLETE + fileName);
try {
client.executeMethod(del);
return true;
} catch (HttpException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
gibt es irgendeine Methode oder URL-Parsen sollte ich verwenden um das problem zu beheben
Dank
BEARBEITEN, FAND die Lösung durch ersetzen von Leerzeichen mit "%20".
**
URL.replaceAll(" ","%20")
**
Ich hatte das gleiche problem. Aber die URL, die ein "-", in diesem Fall musste ich ersetzen durch " %2D.
InformationsquelleAutor david | 2012-11-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich dies und das bekommen, was ich will...
URL.replaceAll(" ","%20")
InformationsquelleAutor david
verwenden
java.net.URLEncoder.encode
oder ersetzen Sie die Leerzeichen durch '+'
+
ist nur dann akzeptabel, in query-strings und application/x-www-form-urlencoded-POST-Daten. Real-Codierung verwendet%20
hier.Danke @Neil, ich update meine Frage mit der Lösung. %20 große Arbeit für die URL.
InformationsquelleAutor Stéphane
Sollten Sie Sie einfach benennen Sie Ihre Datei als:
Ist es üblich, standard, verwenden Sie niemals Leerzeichen bei der Kodierung von Variablen oder die Erstellung von Dateien für solche.
Verwenden test_file (Schlange Fall) oder Textdatei (camelCase).
InformationsquelleAutor ninnemannk