Skip to main content
Gear_Head
Known Participant
Oct 11, 2017 5:52 PM UTC
Answered

Cfloop problem

Hi, i'm using Aurigma image uploader to upload photos for a used tire website and i want to have specific names for the photos so they dont get overwrite so i use my clientID and the next ID in my tire databasse plus i want to add the loopcount and the end so i upload the image then i rename them but my index i stays a 0 in destination = "D:\MYPATH\#clientID#_#nextID#_#i#" i only get 1 out of my 5 images in my directory somthing like 12_176_0.jpg and its the last one that got uploaded so why is my i index not adding up ?

<cfset fileCount=(#Form.PackageFileCount#-1) />

<cfloop index="i" from="0" to="#fileCount#">

    <cfset name="#Form["SourceName_#i#"]#"/>

    <!--- Get source file and save it to disk. --->

    <cffile action="UPLOAD" filefield="File0_#i#"

        destination="D:\MYPATH\"

        nameconflict="MakeUnique">

        <cfimage action = "resize"

            width="800"

        height="600"

            source = "D:\MYPATH\#name#"

            destination = "D:\MYPATH\#clientID#_#nextID#_#i#.jpg"

            overwrite = "yes">

    <cffile

        action = "delete"

        file = "D:\MYPAT\#name#">

</cfloop>

****************************************************************************

And i also what to update my database with the name of the photos i have 5 field named photo, photo1, photo2, photo3, photo4 once i get the loopcount i was thinking of using something like this but how do i get the photo1, photo2 etc... in there ?

<cfquery name="updatetData" datasource="myDNS">

    UPDATE INTO usedtires

    WHERE ID = #lastid#

          (photo)

    VALUES (

          <cfqueryparam value="#cookie.no_client#_#lastid#_#i#" cfsqltype="cf_sql_varchar">

        )

</cfquery>

Thanks

This topic is closed to new replies. Start a new post to keep the conversation going.
BKBK
BKBKCorrect answer
Community Expert
Oct 13, 2017 6:23 PM UTC

This is the the page where you load the images :

Index.cfm

*****************************************************************************

<cfprocessingdirective pageEncoding="UTF-8" />

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8" />

    <title>Test

    </title>

    <meta name="viewport" content="width=device-width, initial-scale=1" />

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>

    <link href="Scripts/css/aurigma.htmluploader.control.css" rel="stylesheet" type="text/css" />

    <link href="Styles/css.css" rel="stylesheet" type="text/css" />

    <link href="bower_components/bootstrap/dist/css/bootstrap.css" rel="stylesheet"/>

        <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->

     <!--[if lt IE 9]>

    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>

    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>

    <![endif]-->

    <script type="text/javascript" src="bower_components/jquery/dist/jquery.min.js"></script>

    <script src="Scripts/aurigma.imageuploaderflash.min.js" type="text/javascript"></script>

    <script src="Scripts/aurigma.htmluploader.control.js" type="text/javascript"></script>

    <script type="text/javascript">

   

        $().ready(function(){

            var uploader = $au.imageUploaderFlash({

                id: 'Uploader1',

                licenseKey: '77FF1-00001-78280-0002D-132E8-3520C7',

                width: '100%',

                height: '450px',

                uploadButtonText: "Télécharger",

                enableDescriptionEditor: false,

                enableRotation: true,

                converters: [

                    { mode: '*.*=SourceFile' },

                    { mode: '*.*=Thumbnail', thumbnailFitMode: 'Fit', thumbnailWidth: '120', thumbnailHeight: '120' }

                ],

                uploadSettings: {

                    actionUrl: 'Upload.cfm',

                },

                topPane: {

                        visible: false,

                    },

                    uploadPane: {

                        addFilesButtonText: "ajoutez les photos",

                    },

                    statusPane: {

                        filesToUploadText: "<font color='#7a7a7a'>Fichier</font> {0}",

                    noFilesToUploadText: "<font color='#7a7a7a'>Aucun fichier</font> {0}",

                    },

                flashControl: {

                    codeBase: '../Scripts/aurigma.imageuploaderflash.swf',

                    bgColor: '#f5f5f5'

                },

                restrictions: {

                    maxFileSize: 31457280,

                    fileMask: [

                        ['Images (*.jpg)', '*.jpg']

                    ],

    minFileCount: 5, maxFileCount: 5},   

    messages: { tooFewFiles: 'Vous devez soumettre 5 photos.',

    maxFileCountExceeded: 'Vous devez soumettre 5 photos.'

                },

            });

            $("#uploader").html(uploader.getHtml());

        });

   

    </script>

   <script>

    $().ready(function(){

        if (typeof $au !== 'undefined' && !!$au.debug) {

            $("#uploader-version").text($au.debug().version());

        }

    });

   </script>

</head>

<body>

    <div class="container">

        <div class="col-md-10 col-lg-10 col-sm-10 col-md-offset-1 col-lg-1-offset col-sm-offset-1">

            <div class="row">

                <div class="panel panel-primary">

                    <div class="panel-heading">

                    </div>

                    <div class="panel-body" id="sample-body">

                        <div id="uploader"></div>

                    </div>

                    <div class="panel-footer">

                    </div>

                </div>   

            </div>

        </div>

    </div>

    <!-- Bootstrap core JavaScript

    ================================================== -->

    <!-- Placed at the end of the document so the pages load faster -->

    <script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>   

</body>

</html>

*****************************************************************************

This is the entire upload.cfm page

*****************************************************************************

<CFQUERY NAME="getinfo" datasource="MyDNS">

SELECT *

FROM company

WHERE no_client = 1

</cfquery>

<CFQUERY NAME="thelastid" datasource="MyDNS">

SELECT id

FROM tires

ORDER by id desc

</cfquery>

<cfset lastcount = 0>

<cfset lastid = #thelastid.id# + 1>

<cfprocessingdirective pageEncoding="utf-8" />

<!---This variable specifies relative path to the folder, where the gallery with uploaded files is located.

    Do not forget about the slash in the end of the folder name.--->

<cfset galleryPath="UploadedFiles/" />

<cfset absGalleryPath="#ExpandPath(galleryPath)#" />

<cfset absThumbnailsPath="#absGalleryPath#Thumbnails/" />

<!---Create XML file which will keep information about files (image dimensions, description, etc).

    XML is used solely for brevity. In real-life application most likely you will use database instead.--->

<!---Get total number of uploaded files (all files are uploaded in a single package) and

    iterate through uploaded data and save the original file, thumbnail, and description.--->

<cfset fileCount = Form.PackageFileCount - 1 />

<cfloop index="i" from="0" to="#fileCount#">

    <cfset name="#Form["SourceName_#i#"]#"/>

    <!--- Get source file and save it to disk. --->

    <cffile action="UPLOAD" filefield="File0_#i#"

        destination="#absGalleryPath#"

        nameconflict="MakeUnique">

        <cfimage action = "resize"

            width="800"

        height="600"

            source = "#galleryPath#\#name#"

            destination = "D:\MyPath\#cookie.no_client#_#lastid#_#i#.jpg"

            overwrite = "yes">

    <cffile

        action = "delete"

        file = "D:\MyPath\UploadedFiles\#name#">

    <cfset sourceFileName="#replace(URLEncodedFormat(serverFile), '%2E', '.', 'ALL')#" />

    <!--- Get first thumbnail (the single thumbnail in this code sample) and save it to disk. --->

    <cfset thumbnailFileName=Form["File1Name_#i#"] />

    <cffile action="UPLOAD" filefield="File1_#i#"

        destination="#absThumbnailsPath#"

        nameconflict="MakeUnique"/>

    <cffile action="rename"

        source="#serverDirectory#/#serverFile#"

        destination="#thumbnailFileName#"

        attributes="normal"/>

    <!---Save file info.--->

    <cfset thumbnailFileName="#URLEncodedFormat(thumbnailFileName)#" />

</cfloop>

<cfoutput>#fileCount#</cfoutput>

*****************************************************************************


Gear_Head  wrote

<!---Get total number of uploaded files (all files are uploaded in a single package) and

    iterate through uploaded data and save the original file, thumbnail, and description.--->

<cfset fileCount = Form.PackageFileCount - 1 />

<cfloop index="i" from="0" to="#fileCount#">

    <cfset name="#Form["SourceName_#i#"]#"/>

...

    <!--- Get source file and save it to disk. --->

    <cffile action="UPLOAD" filefield="File0_#i#" ...>

 

I think I now understand it a bit more. So you submit a form that has the following fields:

PackageFileCount

SourceName_0

SourceName_1

SourceName_2

SourceName_3

SourceName_4

File0_0

File0_1

File0_2

File0_3

File0_4

Yes? The just dump the form, as EddieLotter suggests, just before the loop.

11 replies

BKBK
Community Expert
Community Expert
Oct 13, 2017 1:26 PM UTC

What happens when you use

<cfset fileCount = Form.PackageFileCount - 1 />

instead?

In any case, it seems weird that you are looping <cffile action="upload">, whereas the form is not being submitted each time. Each upload action requires form submission!

Translate
Gear_Head
Gear_HeadAuthor
Known Participant
Oct 13, 2017 1:45 PM UTC

Same result and the code for the <cffile action="upload"> was provided by Aurigma with the uploader i added the resize/rename and delete

Translate
EddieLotter
Inspiring
Oct 13, 2017 2:25 PM UTC

Please dump the Form scope and post its contents here. It will be helpful to see what is actually being posted.

Cheers

Eddie

Translate