diff --git a/api-handlers.go b/api-handlers.go index adbe629..028e210 100644 --- a/api-handlers.go +++ b/api-handlers.go @@ -62,6 +62,30 @@ func getObjectHandler(w http.ResponseWriter, r *http.Request) { } } +// createObjectHandler allows to upload a new object +func createObjectHandler(w http.ResponseWriter, r *http.Request) { + vars := mux.Vars(r) + + err := r.ParseMultipartForm(32 << 20) + if err != nil { + panic(err) + } + + file, handler, err := r.FormFile("file") + if err != nil { + w.WriteHeader(http.StatusUnprocessableEntity) + return + } + defer file.Close() + + fmt.Fprintf(w, "%v", handler.Header) + + _, err = minioClient.PutObject(vars["bucketName"], handler.Filename, file, "application/octet-stream") + if err != nil { + panic(err) + } +} + // deleteObjectHandler deletes an object func deleteObjectHandler(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) diff --git a/routes.go b/routes.go index 5aaec9e..538862d 100644 --- a/routes.go +++ b/routes.go @@ -44,6 +44,12 @@ var routes = Routes{ "/api/buckets/{bucketName}/objects/{objectName}", getObjectHandler, }, + Route{ + "Upload Object", + "POST", + "/api/buckets/{bucketName}/objects", + createObjectHandler, + }, Route{ "Delete Object", "DELETE", diff --git a/templates/bucket.html b/templates/bucket.html index dd5526b..d6ac485 100644 --- a/templates/bucket.html +++ b/templates/bucket.html @@ -5,54 +5,52 @@ -
-
+
- +
- - - - - - - - - - + + + + + + + + + + - - {{ range $object := .Objects }} - - - - - - - + {{ range $index, $object := .Objects }} + + + + + + + - - {{ end }} - + + + + + {{ end }} + -
KeySizeOwnerLast ModifiedActions
KeySizeOwnerLast ModifiedActions
{{ $object.Icon }}{{ $object.Key }}{{ $object.Size }} bytes{{ $object.Owner }}{{ $object.LastModified }} - - - Actions arrow_drop_down - +
{{ $object.Icon }}{{ $object.Key }}{{ $object.Size }} bytes{{ $object.Owner }}{{ $object.LastModified }} + + + Actions arrow_drop_down + - - -
+ - {{ if not .Objects }} -

Oh noes... No objects in {{ .BucketName }} yet...

- {{ end }} -

+ {{ if not .Objects }} +

Oh noes... No objects in {{ .BucketName }} yet...

+ {{ end }} +

-
@@ -67,17 +65,22 @@
-
-
- - + +
+
+ File +
+
+ +
+