Javascript 在ColdFusion中将Base64解码为图像

Javascript 在ColdFusion中将Base64解码为图像,javascript,coldfusion,cfml,topaz-signatures,Javascript,Coldfusion,Cfml,Topaz Signatures,不久前,我发布了一个关于将Base64字符串解码为要存储在ColdFusion应用程序中的图像的问题 我是从一个黄玉签名板上得到这个字符串的,它有一个创建Base64字符串的NAPI浏览器插件。然后,我将获取该字符串并使用以下代码对其进行解码: <cfscript> binaryValue = binaryDecode( form.SigImgData, "hex" ); FileWrite("c:\Inetpub\wwwroot\signature

不久前,我发布了一个关于将Base64字符串解码为要存储在ColdFusion应用程序中的图像的问题

我是从一个黄玉签名板上得到这个字符串的,它有一个创建Base64字符串的NAPI浏览器插件。然后,我将获取该字符串并使用以下代码对其进行解码:

 <cfscript>
        binaryValue = binaryDecode( form.SigImgData, "hex" );
        FileWrite("c:\Inetpub\wwwroot\signatures\#fullfilename#.bmp", "#binaryValue#");
</cfscript>
我发现了一个网站,它允许你把一个字符串放到一个盒子里,然后把它解码成原始图像,它似乎解码得很好

根据建议,我尝试了以下修改:

<cfset image = imageReadBase64("data:image/bmp;base64,form.SigImgData")>
    <cfimage 
    source="#image#"
    destination="c:\Inetpub\wwwroot\signatures\#fullfilename#.bmp" 
    action="write">
但我收到以下错误:

无法解码字符串form.SigImgData。
输入字符串不是base64编码的。

对于base64字符串,您可以使用此函数获取图像:

ImageReadBase64(yourstring)
例如:

<cfset image = ImageReadBase64(form.SigImgData)>
<cfimage source="#image#" destination="C:\Inetpub\wwwroot\signatures\#fullfilename#.bmp" action="write">

对于Base64字符串,您可以使用此函数获取图像:

ImageReadBase64(yourstring)
例如:

<cfset image = ImageReadBase64(form.SigImgData)>
<cfimage source="#image#" destination="C:\Inetpub\wwwroot\signatures\#fullfilename#.bmp" action="write">

由于您的二进制数据没有图像标题,因此包含Mime类型,例如数据:image/png;base64用于png图像,因此您可以像这样简单地使用:

<cfset image = imageReadBase64(form.SigImgData)>
<cfimage 
   source="#image#"
   destination="c:\Inetpub\wwwroot\signatures\#fullfilename#.bmp" 
   action="write">
我用同样的代码在本地进行了尝试。这是你的照片吗?
由于二进制数据没有图像标题,因此包含Mime类型,例如数据:image/png;base64用于png图像,因此您可以像这样简单地使用:

<cfset image = imageReadBase64(form.SigImgData)>
<cfimage 
   source="#image#"
   destination="c:\Inetpub\wwwroot\signatures\#fullfilename#.bmp" 
   action="write">
我用同样的代码在本地进行了尝试。这是你的照片吗?

好的。因此,看看Adobe帮助网站上的标签,它给出了带标题和不带标题的示例。我提供的示例字符串是否有标题?您知道吗?您的字符串没有标题,但我们不关心。在实现代码示例时,我收到以下错误:Base64数据的格式不正确。数据应采用HTML中标记可以理解的格式,即数据:image/jpg;base64,[base64数据]我尝试过,它对我有效。你只是传入我的字符串而不是使用表单变量吗?也许这就是我的问题,它不能读取我的表单变量?好的。因此,看看Adobe帮助网站上的标签,它给出了带标题和不带标题的示例。我提供的示例字符串是否有标题?您知道吗?您的字符串没有标题,但我们不关心。在实现代码示例时,我收到以下错误:Base64数据的格式不正确。数据应采用HTML中标记可以理解的格式,即数据:image/jpg;base64,[base64数据]我尝试过,它对我有效。你只是传入我的字符串而不是使用表单变量吗?也许这就是我的问题,它无法读取我的表单变量?我尝试了你的示例,但收到一个coldfusion错误,输入字符串不是base64编码的。。我发布了我的代码和我原始问题中的确切错误。好的,发现了问题,我把变量名拼错了。现在一切都好了。谢谢我尝试了您的示例,但收到一个coldfusion错误。输入字符串不是base64编码的。。我发布了我的代码和我原始问题中的确切错误。好的,发现了问题,我把变量名拼错了。现在一切都好了。谢谢是否尝试使用imageReadBase64form.SigImgData?是否尝试使用imageReadBase64form.SigImgData?