We help IT Professionals succeed at work.
Get Started

upload image in coldfusion and cfloop

Panos
Panos asked
on
841 Views
Last Modified: 2013-12-24
Hello experts.
I have a code for upload -update-delete and resize image.
I named the image and file and queries with indicator 1.
I was to use this code for 8 image fields so i need this code changed with cfloop but i have problems.
Any help?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7" />
<title>Untitled Document</title>
<cfset errors = "">
 <!--- Upload helper --->
 <cfparam name="Url.Art_ID" default="350">
<cfparam name="getimage1.img_Text" default="">
<cfparam name="getDBimage1.img_Text" default="">
<cfquery name="getDBimage1" datasource="#request.dsn#">
            SELECT img_Text
            FROM dbo.All_Images
            WHERE img_ID = <cfqueryparam value="1" cfsqltype="cf_sql_numeric">
            AND Artimages_ID = <cfqueryparam value="#URL.Art_ID#" cfsqltype="cf_sql_numeric">
            </cfquery>
 
<cfparam name="SERVERFILE1" default="">
 
   <cfset thumbWidth = 80>
   <cfset thumbHeight = 60>
 
   <cfset newWidth = 300>
   <cfset newHeight = 225>
   
   <cfset bigWidth = 640>
   <cfset bigHeight = 480>
   <!--- expandpath() gets the current
         drive and path of the file we are running --->
<CFSET thispath = expandpath("./images")>
<cfif isdefined ("uploadf1") AND CGI.REQUEST_METHOD IS "POST">
    <cfif structKeyExists(form,"foto1") and len(form.foto1)>
                
  <!--- uploads a file to our website --->
  
     <CFFILE action="upload" filefield="foto1" destination="#thispath#" nameconflict="MAKEUNIQUE" >
  <!--- check if is an image --->
        <cfif Lcase(file.ClientFileExt)NEQ "gif"
	      AND Lcase(file.ClientFileExt) NEQ "jpg"
          AND Lcase(file.ClientFileExt) NEQ "jpeg">
         <cffile  action="delete" file="#thispath#/#cffile.serverfile#">
         <cfset   errors = errors & "Image 1 is not an image file!<br />">
     
     <!--- check the image size --->
        <cfelseif file.Filesize GT 500 * 1024 >
          <cffile  action="delete" file="#thispath#/#cffile.serverfile#">
          <cfset errors = errors & "Image 1 is bigger than alowed!<br />">
        <cfelse>
    
     <!--- check if there is allready img_1 then delete the file to replace --->
          <cfif getDBimage1.Recordcount NEQ 0>
           <cffile action="delete" file="#thispath#/#getDBimage1.img_Text#">
           <cffile action="delete" file="#thispath#/thumbs/#getDBimage1.img_Text#">
           <cffile action="delete" file="#thispath#/bigsize/#getDBimage1.img_Text#">
          </cfif>
     <!--- end --->
     <!--- resize the file --->
             <cfimage name="uploadedImage"
             source="#thispath#/#cffile.serverFile#" >
             <cfimage action="resize"
             height="#newHeight#"
             width="#newWidth#"
             source="#uploadedImage#"
             destination="#thispath#/#cffile.serverFile#"
             overwrite="true"/> 
     
             <cfimage action="resize"
             height="#thumbHeight#"
             width="#thumbWidth#"
             source="#uploadedImage#"
             destination="#thispath#/thumbs/#cffile.serverFile#"
             overwrite="true"/>
    
             <cfimage action="resize"
             height="#bigHeight#"
             width="#bigWidth#"
             source="#uploadedImage#"
             destination="#thispath#/bigsize/#cffile.serverFile#"
             overwrite="true"/>
             <!--- <cfset ImgDir = expandpath("gallery/images/")><!--- full-size images dir --->
 
             <cfif NOT DirectoryExists(ImgDir)>
              
           <cfdirectory action = "create" directory = "#ImgDir#" name = "query name" mode = "777">
 
        </cfif> --->
 
    <!--- end --->
          <CFSET ServerFile1 = CFFILE.SERVERFILE>
   <!--- If there is allready img1 in DB then replace it --->
          <cfif getDBimage1.Recordcount NEQ 0>
             <cfquery name="updateimg_1" datasource="#request.dsn#">
             Update dbo.All_images
             SET img_text = '#ServerFile1#'
             WHERE Artimages_ID = <cfqueryparam value="#URL.Art_ID#" cfsqltype="cf_sql_numeric"> 
             AND  img_ID = <cfqueryparam value="1" cfsqltype="cf_sql_numeric">
             </cfquery>
   <!--- end --->
         <cfelse>
   <!--- If there is isn't img1 in Db then insert ---> 
            <cfquery name="imageupload" datasource="#request.dsn#">
            Insert into All_images (Artimages_ID,img_ID,img_text)
            values (#Url.art_id#, 1,'#ServerFile1#')
            </cfquery>
<!--- end --->
        </cfif>
     </cfif>
  </cfif>
</cfif>
<cfif isdefined ("Deletimg_1")>
<!--- Delete the img1 --->
    <cffile action="delete" file="#thispath#/#getDBimage1.img_Text#">
    <cffile action="delete" file="#thispath#/thumbs/#getDBimage1.img_Text#">
    <cffile action="delete" file="#thispath#/bigsize/#getDBimage1.img_Text#">
   <!--- end --->
   <!--- Delete img1 in DB ---> 
    <cfquery name="DeleteImg1"  datasource="#request.dsn#">
    DELETE From All_images
    WHERE Artimages_ID = <cfqueryparam value="#URL.Art_ID#" cfsqltype="cf_sql_numeric"> 
    AND  img_ID = <cfqueryparam value="1" cfsqltype="cf_sql_numeric"> 
    </cfquery>
  </cfif>
  
  <!--- After all get the img_1 if it exists --->
<cfquery name="getimage1" datasource="#request.dsn#">
SELECT img_Text
FROM dbo.All_Images
WHERE img_ID = <cfqueryparam value="1" cfsqltype="cf_sql_numeric"> 
AND Artimages_ID = <cfqueryparam value="#URL.Art_ID#" cfsqltype="cf_sql_numeric"> 
</cfquery>
 
<cfif getimage1.img_Text EQ "">
 <cfset image1 = 'images_1.jpg'>
 <cfelse>
 <cfset image1 = getimage1.img_Text>
 </cfif>
<!--- end --->
 
</head>
 
<body>
<CFIF errors NEQ "">
<CFOUTPUT>
      
            <CFLOOP list="#errors#" index="the_error"  delimiters="|">
                  <li>#the_error#</li><br />
            </CFLOOP>
     
</CFOUTPUT>
</CFIF>
<br />
<form action="#CGI.SCRIPT_NAME#" method="post" enctype="multipart/form-data" name="WADAUpdateForm1" id="WADAUpdateForm1">
<table width="500">
  <tr>
    <td><input name="imageField1" type="image" class="imageFieldinsert" id="imageField" src="images/thumbs/<cfoutput>#image1#</cfoutput>" width="80" height="60" /><br />
    <input name="foto1" class="textfieldfoto"  id="foto1"type="file"  /><br />
    <input name="uploadf1" type="submit"  id="uploadf1"   value="upload" width="60"  height="30" />
    <input name="Deletimg_1" type="submit"  id="Deletimg_1" value="Delete"  <cfif getimage1.img_Text EQ "">disabled="disabled" </cfif> /></td>
  </tr>
</table>
</body>
</html>

Open in new window

Comment
Watch Question
Commented:
This problem has been solved!
Unlock 1 Answer and 2 Comments.
See Answer
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE