Peter,
  I am noticing you are using fileRead to read the file into memory and then 
convert it to base 64 and then to binary.  Why not use cffile action=readbinary 
to avoid jumping through all the hoops to start?  Plus I am thinking that it is 
likely that using fileread to start and cffile to write might cause some issue. 
 I have no resource that I can point to that says it will cause a problem, but 
I would just stick with one or the other.

HTH,
Will  


> I am working on a remote call cfc that will allow remote user to 
> upload an image file. Should be pretty straight forward but I am 
> finding that the image being saved is not quite right and therefore 
> NFG.
> 
> The remote call from my test cfm page is as follows...
> 
> <cfset filePath = "C:\temp\rock3.jpg" />
> <cfset dataFile2 = FileRead(filePath) />
> <!----- Create a Base64 representation of this string. ----->
> <cfset data64 = toBase64(dataFile2)>
> <!--- Convert string to binary. ---->
> <cfset binaryData = toBinary(data64)>
> 
> <cfinvoke timeout="300"   method="uploadImageFile"   
> returnvariable="results"   
> webservice="http://localdemo/billclix/billclix04.cfc?wsdl";>   
> <cfinvokeargument name="pid" value="113">  <cfinvokeargument 
> name="buildID" value="PetersTestPage01">   <cfinvokeargument 
> name="email" value="[email protected]">   <cfinvokeargument name="pw" 
> value="pass123">      <cfinvokeargument name="imageToUpload" 
> value="#binaryData#"></cfinvoke>
> 
> My simplified code on the cfc page is as follows...
> <cfcomponent>
> 
> <cffunction name="uploadImageFile" access="remote" output="no" 
> returntype="string" >
> <cfargument name="imageToUpload" type="binary" required="no" 
> default="">
> <cfargument name="email" type="string" required="no" default="">
> <cfargument name="pw" type="string" required="no" default="">
> <cfargument name="pid" type="string" required="no" default="">
> <cfargument name="buildID" type="string" required="no" default="">
> 
> <!--- Convert binary back to Base64. --->
> <cfset imageToUpload2 = toBase64(arguments.imageToUpload)>
    
>       <cffile action="write" file="c:\BillClixIn\#arguments.pid#\rock3.jpg" 
> output="#ToBinary( ToBase64( arguments.imageToUpload ))#" 
> nameconflict="OVERWRITE" />
> 
> <cfsavecontent variable="results">
  
> <result>Image Upload Done</result>
> </cfsavecontent>
> <cfreturn results>
> </cfcomponent>
> 
> As I said the saved image is NFG, when I open the image file in 
> notepad and compare it to the original the source is 99.9% identical 
> does anyone have any thoughts on why it is not 100% identical? 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:345108
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to