Feat: finish object storage

This commit is contained in:
2025-12-07 21:24:33 +08:00
parent b609421a6e
commit 203a787063
16 changed files with 232 additions and 48 deletions

35
handlers/img/get.go Normal file
View File

@@ -0,0 +1,35 @@
package img
import (
"io"
"net/http"
"gitea.konchin.com/go2025/backend/middlewares"
"github.com/uptrace/bunrouter"
)
func (self *Handlers) Get(
w http.ResponseWriter,
req bunrouter.Request,
) error {
ctx := req.Context()
filename := req.Param("filename")
r, err := self.s3.GetImage(ctx, filename)
if err != nil {
return middlewares.HTTPError{
StatusCode: http.StatusInternalServerError,
Message: "failed to get image",
OriginError: err,
}
}
if _, err := io.Copy(w, r); err != nil {
return middlewares.HTTPError{
StatusCode: http.StatusInternalServerError,
Message: "failed to copy buffer",
OriginError: err,
}
}
return nil
}