分享
  1. 首页
  2. 主题
  3. Go问与答

golang替换字符串中的图片链接,如何提升性能呢?

RafaelShin · · 3430 次点击 · 开始浏览 置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

给定字符串 ``` content="<span class=""><img class="wscnph" src="https://static.images.net/202233142551646287375.jpg"><img class="wscnph" src="https://static.images.net/202233142551646287377.jpg"></span>" ``` 使用正则匹配图片链接,然后上传图片到阿里云oss,获得图片的链接,然后替换字符串中图片的链接,如果给定的字符串中图片很多,怎样才能提高图片上传替换的速度 ``` func Upload(url string) string { // 创建OSSClient实例。 client, err := oss.New(Endpoint, key, AccessKeySecret) if err != nil { fmt.Println("Error:", err) os.Exit(-1) } t1 := time.Now().Unix() if ti1 != t1 { //如果时间戳不一样,那么归零 long = 0 } ti1 = t1 long++ obj := fmt.Sprintf("article/%d%d.png", t1, long) // 获取存储空间。 bucket, err := client.Bucket(BucketName) if err != nil { fmt.Println("Error:", err) os.Exit(-1) } // 上传Byte数组。 err = bucket.PutObject(obj, bytes.NewReader(ReadImgData(url))) if err != nil { fmt.Println("Error:", err) os.Exit(-1) } return "https://" + BucketName + "." + Endpoint + "/" + obj } func RepImages(htmls string) string { var imgRE = regexp.MustCompile(`<img[^>]+\bsrc=["']([^"']+)["']`) imgs := imgRE.FindAllStringSubmatch(htmls, -1) out := make([]string, len(imgs)) myImage := "" resHtml := htmls for i := range out { if ! strings.HasPrefix(imgs[i][1], "https://static.images.net") { myImage = Upload(imgs[i][1]) resHtml = strings.Replace(resHtml, imgs[i][1], myImage, -1) out[i] = imgs[i][1] fmt.Println(strconv.Itoa(i), out[i]) } } fmt.Println(resHtml) return resHtml } func main() { //a := BcryptHash("admin123$") //fmt.Print(a) content := "<span class=\"\"><img class=\"wscnph\" src=\"https://static.images.net/2022331359421646287182.jpg\"><img class=\"wscnph\" src=\"https://static.images.net/202233135942164628718777.jpg\"></span>" RepImages(content) } ```

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
3430 次点击
4 回复 | 直到 2022年12月23日 09:53:21
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)