fix: base 64 encoded format support of gemini-pro-vision for field image_url/url

This commit is contained in:
liuzl 2023-12-28 10:23:00 +08:00
parent f44fbe3fe7
commit c6a2d3c2fb

View File

@ -44,6 +44,18 @@ func GetImageSizeFromUrl(url string) (width int, height int, err error) {
}
func GetImageFromUrl(url string) (mimeType string, data string, err error) {
// Regex to match data URL pattern
dataURLPattern := regexp.MustCompile(`data:image/([^;]+);base64,(.*)`)
// Check if the URL is a data URL
matches := dataURLPattern.FindStringSubmatch(url)
if len(matches) == 3 {
// URL is a data URL
mimeType = "image/" + matches[1]
data = matches[2]
return
}
isImage, err := IsImageUrl(url)
if !isImage {
return