mirror of
https://github.com/tenox7/wrp.git
synced 2025-02-11 18:31:03 +00:00
add embed image support
This commit is contained in:
parent
bf946f0f63
commit
d7eb89e135
39
txt.go
39
txt.go
@ -2,6 +2,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"encoding/base64"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"image"
|
"image"
|
||||||
@ -76,17 +77,33 @@ func (i *imageStore) del(id string) {
|
|||||||
|
|
||||||
func grabImage(id, url string) {
|
func grabImage(id, url string) {
|
||||||
log.Printf(">>> Downloading ID=%q URL=%q", id, url)
|
log.Printf(">>> Downloading ID=%q URL=%q", id, url)
|
||||||
// TODO: possibly set a header "referer" here
|
var img []byte
|
||||||
r, err := http.Get(url)
|
var err error
|
||||||
if err != nil {
|
switch url[:4] {
|
||||||
log.Printf("Error downloading %q: %v", url, err)
|
case "http":
|
||||||
return
|
r, err := http.Get(url) // TODO: possibly set a header "referer" here
|
||||||
}
|
if err != nil {
|
||||||
defer r.Body.Close()
|
log.Printf("Error downloading %q: %v", url, err)
|
||||||
img, err := io.ReadAll(r.Body)
|
return
|
||||||
if err != nil {
|
}
|
||||||
log.Printf("Error reading %q: %v", url, err)
|
defer r.Body.Close()
|
||||||
return
|
img, err = io.ReadAll(r.Body)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Error reading %q: %v", url, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
case "data":
|
||||||
|
idx := strings.Index(url, ",")
|
||||||
|
if idx < 1 {
|
||||||
|
log.Printf("image is embeded but unable to find coma: %q", url)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
img, err = base64.StdEncoding.DecodeString(url[idx+1:])
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("error decoding image from url embed: %q: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Printf("%v", string(img))
|
||||||
}
|
}
|
||||||
gif, err := smallGif(img)
|
gif, err := smallGif(img)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user