Stream images
This commit is contained in:
parent
2ee4aa7237
commit
ac98a54f79
|
@ -30,8 +30,7 @@ func FetchAlbum(albumID string) (types.Album, error) {
|
||||||
data.Get("media").ForEach(
|
data.Get("media").ForEach(
|
||||||
func(key gjson.Result, value gjson.Result) bool {
|
func(key gjson.Result, value gjson.Result) bool {
|
||||||
url := value.Get("url").String()
|
url := value.Get("url").String()
|
||||||
println(url)
|
url = strings.ReplaceAll(url, "https://i.imgur.com", "/media")
|
||||||
url = strings.ReplaceAll(url, "https://i.imgur.com", "")
|
|
||||||
media = append(media, url)
|
media = append(media, url)
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
|
2
main.go
2
main.go
|
@ -43,7 +43,7 @@ func main() {
|
||||||
Root: http.FS(static.GetFiles()),
|
Root: http.FS(static.GetFiles()),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
app.Get("/:baseName.:extension", pages.HandleMedia)
|
app.Get("/media/:baseName.:extension", pages.HandleMedia)
|
||||||
app.Get("/a/:albumID", pages.HandleAlbum)
|
app.Get("/a/:albumID", pages.HandleAlbum)
|
||||||
app.Get("/t/:tagID", pages.HandleAlbum)
|
app.Get("/t/:tagID", pages.HandleAlbum)
|
||||||
/*app.Get("/user/:userID", pages.HandleUser)
|
/*app.Get("/user/:userID", pages.HandleUser)
|
||||||
|
|
|
@ -1,29 +1,20 @@
|
||||||
package pages
|
package pages
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"io"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
func HandleMedia(c *fiber.Ctx) error {
|
func HandleMedia(c *fiber.Ctx) error {
|
||||||
res, err := FetchMedia(c.Params("baseName") + "." + c.Params("extension"))
|
res, err := http.Get("https://i.imgur.com/" + c.Params("baseName") + "." + c.Params("extension"))
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
data, err := io.ReadAll(res.Body)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
c.Set("Content-Type", res.Header.Get("Content-Type"));
|
c.Set("Content-Type", res.Header.Get("Content-Type"));
|
||||||
c.Write(data)
|
contentLen, _ := strconv.Atoi(res.Header.Get("Content-Length"))
|
||||||
|
c.SendStream(res.Body, contentLen)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func FetchMedia(filename string) (*http.Response, error) {
|
|
||||||
res, err := http.Get("https://i.imgur.com/" + filename)
|
|
||||||
return res, err
|
|
||||||
}
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
body {
|
||||||
|
font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, roboto, noto, arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
margin: 0 18vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
|
@ -1,11 +1,19 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
{{> partials/head }}
|
{{> partials/head }}
|
||||||
|
<link rel="stylesheet" href="/static/css/album.css" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
{{> partials/header }}
|
||||||
|
|
||||||
|
<main>
|
||||||
{{#each album.Media}}
|
{{#each album.Media}}
|
||||||
<img src="{{this}}" loading="lazy">
|
<img src="{{this}}" loading="lazy">
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
|
@ -1,4 +1,4 @@
|
||||||
<title>rimgu</title>
|
<title>rimgo</title>
|
||||||
|
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
@ -16,5 +16,4 @@
|
||||||
<meta name="theme-color" content="#ffffff">
|
<meta name="theme-color" content="#ffffff">
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/styles.css"/>
|
<link rel="stylesheet" href="/static/css/base.css"/>
|
||||||
<link rel="stylesheet" href="/css/custom.css"/>
|
|
|
@ -1,3 +1,3 @@
|
||||||
<nav>
|
<nav>
|
||||||
<h2>rimgu</h2>
|
<h2>rimgo</h2>
|
||||||
</nav>
|
</nav>
|
Loading…
Reference in New Issue