diff --git a/cmd/share/.gitignore b/cmd/share/.gitignore new file mode 100644 index 0000000..75701e4 --- /dev/null +++ b/cmd/share/.gitignore @@ -0,0 +1 @@ +share diff --git a/cmd/share/main.go b/cmd/share/main.go index aa2e589..4e60dd1 100644 --- a/cmd/share/main.go +++ b/cmd/share/main.go @@ -46,6 +46,11 @@ func main() { inFile := rconfig.Args()[1] upFile := path.Join(cfg.BasePath, path.Base(inFile)) + mimeType := mime.TypeByExtension(path.Ext(inFile)) + if mimeType == "" { + mimeType = "application/octet-stream" + } + inFileHandle, err := os.Open(inFile) if err != nil { log.WithError(err).Fatal("Unable to open source file") @@ -62,7 +67,7 @@ func main() { log.WithError(err).Fatal("Unable to assemble target path") } - log.Infof("Uploading %q to %q", inFile, upFile) + log.Infof("Uploading %q to %q with type %q", inFile, upFile, mimeType) sess := session.Must(session.NewSession()) svc := s3.New(sess) @@ -70,7 +75,7 @@ func main() { if _, err := svc.PutObject(&s3.PutObjectInput{ Body: inFileHandle, Bucket: aws.String(cfg.Bucket), - ContentType: aws.String(mime.TypeByExtension(path.Ext(inFile))), + ContentType: aws.String(mimeType), Key: aws.String(upFile), }); err != nil { log.WithError(err).Fatalf("Unable to put file into S3") diff --git a/cmd/share/share b/cmd/share/share deleted file mode 100755 index 8ed1da2..0000000 Binary files a/cmd/share/share and /dev/null differ