Ich rufe den folgenden Dienst mit einem curl-Befehl auf:
@RequestMapping(value = "/api/uploadFile", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<String>> uploadFile(@RequestParam("file") MultipartFile multipartFile, @RequestHeader("Authorization") String authCredentials) {...}
Es verwendet die Standardauthentifizierung und Dateiupload wird als mehrteilige Datei benötigt.
Wie rufe ich dies mit einem Curl-Befehl auf?
Ich versuche das, aber ich bekomme einen Fehler, der besagt, dass der illegale Base64-Charakter:
curl -i -H "Authorization:Basic username:password" -H "Accept:application/json" -F "file=@./application.properties" http://hostname/api/uploadFile/
Error:
java.lang.IllegalArgumentException: Illegal base64 character 3a
at java.util.Base64$Decoder.decode0(Base64.java:714) ~[na:1.8.0_121]
at java.util.Base64$Decoder.decode(Base64.java:526) ~[na:1.8.0_121]
at java.util.Base64$Decoder.decode(Base64.java:549) ~[na:1.8.0_121]
Antworten:
1 für die Antwort № 1Das Authorization:
Header ist falsch.
Lassen Sie cur den Benutzernamen und das Passwort in einen HTTP-Authentifizierungsheader konvertieren anstatt mit -u:
curl -i -u "username:password" -H "Accept:application/json" -F "file=@./application.properties" http://hostname/api/uploadFile/