
Debug code to upload an image file to ChatGPT
- or -
Post a project like this$25
- Posted:
- Proposals: 11
- Remote
- #4342850
- Expired
Webiste Development| Digital Marketing| E-commerce Consulting| Website Design| Content Writing| software Developer

Award Winning website Designer | Award Winning Graphics Designer |Award Winning Social Media Manager

AI & ML & Deep Learning Expert, Large Language Model(LLM), Deep Learning, Researcher
Prezi, presentations, font designs, graphic designs, Illustrations, animations, video editing & programming

10749830118711741212023211193042117234901214885812082081120945811172168834291612062508





Description
Experience Level: Entry
I have the following code written in an attempt to upload an image file to ChatGPT that can be read and understood along with accompanying text. It isn't working and need to get it to work.
' Function to extract an image path from a string
Function ExtractImagePath(ByVal text As String) As String
Dim regEx As Object
Dim matches As Object
Dim match As Object
' Create regex object
Set regEx = CreateObject("VBScript.RegExp")
' Set regex pattern to look for image paths
' This pattern looks for paths ending with .png, .jpg, .jpeg, or .bmp
regEx.Pattern = "(([a-zA-Z]:\\|\\\\)[^\s\\/:*?""<>|]+(\\[^\s\\/:*?"" 0 Then
ExtractImagePath = matches(0).Value
Else
ExtractImagePath = ""
End If
' Clean up
Set regEx = Nothing
Set matches = Nothing
End Function
' Function to read an image file and convert it to base64
Function GetBase64FromImage(ByVal filePath As String) As String
On Error GoTo ErrorHandler
Dim streamObj As Object
Dim bytes() As Byte
' Create ADODB.Stream object
Set streamObj = CreateObject("ADODB.Stream")
' Open the stream and read the file
With streamObj
.Type = 1 ' Binary
.Open
.LoadFromFile filePath
bytes = .Read
.Close
End With
' Convert binary data to base64
GetBase64FromImage = Base64Encode(bytes)
' Clean up
Set streamObj = Nothing
Exit Function
ErrorHandler:
GetBase64FromImage = ""
Debug.Print "Error reading image: " & Err.Description
End Function
' Function to encode binary data as base64
Function Base64Encode(ByRef arrData() As Byte) As String
Dim objXML As Object
Dim objNode As Object
' Create MSXML DOMDocument
Set objXML = CreateObject("MSXML2.DOMDocument")
' Create a base64 node
Set objNode = objXML.createElement("b64")
' Set the datatype to bin.base64
objNode.DataType = "bin.base64"
' Set the node value to the binary data
objNode.nodeTypedValue = arrData
' Get the base64 string
Base64Encode = objNode.text
' Clean up
Set objNode = Nothing
Set objXML = Nothing
End Function
' Debug function to test API connection and image handling
Sub DebugGPTResponse()
Dim testPrompt As String
Dim result As String
Dim errorMsg As String
On Error GoTo ErrorHandler
' Test prompt with an image path
testPrompt = "What can you see in this image? C:\Users\Images\test_image.png Please describe it in detail."
' Call the function
result = GetGPTResponse(testPrompt)
' Output success message with the response
MsgBox "Connection successful. Response: " & result
Exit Sub
ErrorHandler:
errorMsg = "Error " & Err.Number & ": " & Err.Description
MsgBox "Connection failed. " & errorMsg
End Sub
' Function to extract an image path from a string
Function ExtractImagePath(ByVal text As String) As String
Dim regEx As Object
Dim matches As Object
Dim match As Object
' Create regex object
Set regEx = CreateObject("VBScript.RegExp")
' Set regex pattern to look for image paths
' This pattern looks for paths ending with .png, .jpg, .jpeg, or .bmp
regEx.Pattern = "(([a-zA-Z]:\\|\\\\)[^\s\\/:*?""<>|]+(\\[^\s\\/:*?"" 0 Then
ExtractImagePath = matches(0).Value
Else
ExtractImagePath = ""
End If
' Clean up
Set regEx = Nothing
Set matches = Nothing
End Function
' Function to read an image file and convert it to base64
Function GetBase64FromImage(ByVal filePath As String) As String
On Error GoTo ErrorHandler
Dim streamObj As Object
Dim bytes() As Byte
' Create ADODB.Stream object
Set streamObj = CreateObject("ADODB.Stream")
' Open the stream and read the file
With streamObj
.Type = 1 ' Binary
.Open
.LoadFromFile filePath
bytes = .Read
.Close
End With
' Convert binary data to base64
GetBase64FromImage = Base64Encode(bytes)
' Clean up
Set streamObj = Nothing
Exit Function
ErrorHandler:
GetBase64FromImage = ""
Debug.Print "Error reading image: " & Err.Description
End Function
' Function to encode binary data as base64
Function Base64Encode(ByRef arrData() As Byte) As String
Dim objXML As Object
Dim objNode As Object
' Create MSXML DOMDocument
Set objXML = CreateObject("MSXML2.DOMDocument")
' Create a base64 node
Set objNode = objXML.createElement("b64")
' Set the datatype to bin.base64
objNode.DataType = "bin.base64"
' Set the node value to the binary data
objNode.nodeTypedValue = arrData
' Get the base64 string
Base64Encode = objNode.text
' Clean up
Set objNode = Nothing
Set objXML = Nothing
End Function
' Debug function to test API connection and image handling
Sub DebugGPTResponse()
Dim testPrompt As String
Dim result As String
Dim errorMsg As String
On Error GoTo ErrorHandler
' Test prompt with an image path
testPrompt = "What can you see in this image? C:\Users\Images\test_image.png Please describe it in detail."
' Call the function
result = GetGPTResponse(testPrompt)
' Output success message with the response
MsgBox "Connection successful. Response: " & result
Exit Sub
ErrorHandler:
errorMsg = "Error " & Err.Number & ": " & Err.Description
MsgBox "Connection failed. " & errorMsg
End Sub

William B.
100% (80)Projects Completed
44
Freelancers worked with
40
Projects awarded
69%
Last project
12 Mar 2025
United States
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies