Ich versuche, eine Datei-Upload-REST-API über Spring Boot einzurichten.Upload auf Amazon S3 über Curl-Route
Ich habe derzeit eine Liste/GET-Methode curl http://localhost:8080/api/aws/s3/list
, die eine Liste der Objekte zurückgibt, die derzeit im Bucket vorhanden sind.
für den Upload, ich habe versucht:
curl -F "[email protected]" http://localhost:8080/api/aws/s3/upload -i
Welche produziert:
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Date: Sun, 25 Jun 2017 23:28:36 GMT
X-Application-Context: application
Content-Type: application/json;charset=utf-8
Transfer-Encoding: chunked
Aber wenn ich auf dem heißen Stein aussehen, es ist nicht mit der neuen Datei aktualisiert.
Wäre dies ein Berechtigungsproblem bei AWS? Nur mein Konto hat Lese- und Schreibzugriff. Der Benutzer und die Gruppe, die ich erstellt habe, haben Administratorrechte. Ich habe keine Bucket-Richtlinie hinzugefügt. Dies ist meine CORS-Konfiguration:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Hier ist der Upload-Abschnitt meines S3-Controller im Frühjahr:
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public List<PutObjectResult> upload(@RequestParam("file") MultipartFile[] multipartFiles) {
return s3Wrapper.upload(multipartFiles);
}