waiducom
waiducom
382 2 0

关于goyoubbs图片地址的一些小修改

因为上次某存储图片地址突然访问

所以导致了产生图片地址存放在自己的web上

但是有个问题,如果web一天更新几篇文章,那么一年下来就会好多文章

个人有洁癖,不喜欢web跟图片在同一个主机上,所以下面的方法可以简单实现goyoubbs图片地址跟web分离

本来想直接拉取@ego008的仓库直接修改,编译好的,但是好像@ego008 拉取需要请求批准。

不会编程只是修改了一下程序的图片地址,修改程序地址为util/content_fmt.go

var (
	img2Regexp        = regexp.MustCompile(`(?:\s|^)(https?://[\w./:]+/[\w./]+\.(jpg|webp|jpe|jpeg|gif|png))`)
	mentionRegexp     = regexp.MustCompile(`(?:\s|^)@([^\s]{2,20})\s?`)
	aTagRegexp        = regexp.MustCompile(`(?m)(<a[^<]+?>.*?</a>)`)
	hrefRegexp        = regexp.MustCompile(`href="[^"]+?"`)                                                   // 图片地址被 auto link
	LocalImgRegexp    = regexp.MustCompile(`(?:\s|^)(/upload/([a-z0-9]+)\.(jpg|jpe|jpeg|webp|gif|png))\s?`) // 本地上传的图片
	codeBlockRegexp   = regexp.MustCompile("(?s:(`{3} *([^\n]+)?\n(.+?)\n`{3}))")
	langCaptionRegexp = regexp.MustCompile("([^\\s`]+)\\s*(.+)?")
	t4Re              = regexp.MustCompile(`\A( {4}|\t)`)
	t4Re2             = regexp.MustCompile(`^( {4}|\t)`)
	htmlRe            = regexp.MustCompile("<.*?>|&.*?;")
	MdImgRe  = regexp.MustCompile(`(!\[.*]\(.+\))|(/upload/([a-z0-9]+)\.(jpg|webp|jpe|jpeg|gif|png))`)
	imgStrRe = regexp.MustCompile(`([\w./]+\.(jpg|webp|jpe|jpeg|gif|png))`)
)

把之前的/static/upload/改为/upload/

修改controller/user_file_upload.go

saveName := strconv.FormatUint(imgHashValue, 10) + ".jpg"
	showPath := "https://domain.com/upload/" + saveName
	saveFullPath := h.App.Cf.Site.UploadDir + "/" + saveName
	dstImg := util.ImageResize(img, 880, 0) // 1024
go mod tidy

go build -o gobbs

程序修改了呢,实际上图片还是上传到了主机,然后我们就可以把图片分流到其它主机了,这样实现web和图片分离

0

See Also

Nearby


Discussion (2)

ego008
ego008 2022-05-11 11:07

fork,然后拉取自己的,再 pull requests,过程有点麻烦,而且有些修改提交可能不被认可。

0
waiducom
waiducom 2022-05-11 11:25

嗯 所以我就直接发贴了 哈哈

0
Login Topics