0

I'm trying post base64 code to save as an image but I can't post the value of textbox when I try submit my base64 code.

Is there limit send to codes via posting form?

I get an error due to can't get the value of textbox below:

ADODB.Stream error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

My HTML code

<form method="POST" action="?X=1" id="myForm">
    <input type="text" name="img_val" id="img_val" value="" />
    <input type="submit" value="Submit Largest Code" />
</form>

My ASP codes:

<%

IF LEN(Request("X"))>0 THEN

base64String = Trim(Request.Form("img_val"))
Set tmpDoc = Server.CreateObject("MSXML2.DomDocument")
Set nodeB64 = tmpDoc.CreateElement("b64")
nodeB64.DataType = "bin.base64"
nodeB64.Text = Mid(base64String, InStr(base64String, ",") + 1)
set bStream = server.CreateObject("ADODB.stream")
bStream.type = 1
call bStream.Open()
call bStream.Write(nodeB64.NodeTypedValue)
caminho=Server.MapPath("/SS/imagem.png")
call bStream.SaveToFile(caminho, 2)
call bStream.close()
set bStream = nothing

END IF
%>

Sample Base64:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAQFCAYAAABQN9UwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAP+6SURBVHhe7L0HoCRHde5/Js/Nd6M2Squ8KAsJBUBCIBAYMBgsG3jYgE3yA4PfMzwH3t/P2NgkGz+DbWwwBh4GG7AQYKJkogRCQhIogHJYabU53jh38v98p7pm6vbOzJ2bdu8u30/UdnV1dYVT1bNLf32qEu++Z19dCCGEEEIIIYQQQgghhBBCCCGEHPUkoyMhhBBCCCGEEEIIIYQQQgghhJCjHArAhBBCCCGEEEIIIYQQQgghhBByjEABmBBCCCGEEEIIIYQQQgghhBBCjhEoABNCCCGEEEIIIYQQQgghhBBCyDECBWBCCCGEEEIIIYQQQgghhBBCCDlGoABMCCGEEEIIIYQQQgghhBBCCCHHCBSACSGEEEIIIYQQQgghhBBCCCHkGIECMCGEEEIIIYQQQgghhBBCCCGEHCNQACaEEEIIIYQQQgghhBBCCCGEkGMECsCEEEIIIYQQQgghhBBCCCGEEHKMQAGYEEIIIYQQQgghhBBCCCGEEEKOESgAE0IIIYQQQgghhBBCCCGEEELIMQIFYEIIIYQQQgghhBBCCCGEEEIIOUagAEwIIYQQQgghhBBCCCGEEEIIIccIiXffs68exY841VpNRkcKsnffhBw4MCFjY1MyOVmSYqki1UpNarW6JJMJSaeTkstlpLc3K4ODeVm+vE9WruiXgYG8JBKJqLTDC9q5f/+E7Ns3LiOjBZmYKMpUsSLlUlWq1Zq2SySVSkg2m5GenrT09+dlaKhXVq0akKHBHu1POirp8DFney/rlxUr+ix+uO1dr9etnXvVzrD36GjU5mJZKkGbU2hzNm1txrxYtgxzRNs81COpJL97IIQQQgghhBBCCCGEEEIIIccmS0IA3rV7VLZs2Ss7d47KwZFJqZSrUtNWJRJ1SSaSGrH/IQEKoKDBdc1g/9UTmkckm03LsmW9sm7tsGzatEKWL+/HHYvK+HhRtm7dJ088ccAEyUKhLLVaza5BGE1ow8J2AxwgYvr+pVIp6e/PyepVA3LCCStk3bplks2kLO9iAXs/9tg+2bFjZM72zsDew2rvdcNy4mGw9/794zpH9sn2HQflwIFJKZUqjTbDynFbo834o1avNdqcVrsOD/XKmjWDOkdWynGrB5GLEEIIIYQQQgghhBBCCCGEkGOGIyYAVypVeXTLPnnggZ2ye8+YVPU8mUxKMp
James Z
  • 12,104
  • 10
  • 27
  • 43
RBT
  • 80
  • 1
  • 8
  • The issue is trying to use `Write()` doesn't accept `NodeTypedValue` as a binary value, you first have to convert it. – user692942 Oct 27 '17 at 15:53
  • See [ADODB.Stream - Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another](//stackoverflow.com/a/23153713) – user692942 Oct 27 '17 at 15:54
  • Actually I getting value of Base64 with javascript. So for converting to Base64 ImageData I need post the code first. – RBT Oct 31 '17 at 08:42
  • Did you solve this? Same issue here, even after having colsulted the links above. Thanks – kneidels Nov 10 '19 at 13:13
  • Unfortunately, I use PHP instead of ASP. – RBT Dec 04 '19 at 08:08

0 Answers0