Hi, 


I'm trying to create a universal upload module....so that you can have as many uploads 
on a form as you want and name them whatever you want.....
 
it all works great, unless the person doesn't upload something then I get the:
 
Error processing CFFILE 

No data was received in the uploaded file '\.' Saving empty (zero-length) files is 
prohibitted. Please make sure you specified the correct file. 



this is because when it check the loop and tries to upload off the form field...the 
field is empty.  I cannot seem to check the value of the field in the loop, because at 
that point it is still a field name, not a field value.  The CFFile converts it into a 
value itself....

 

Help please...

 
called via
 
<cfmodule template="Mod_Upload_File.cfm"
  UploadFields="ProductionImage,ProductionClip"
  Accept="image/jpeg,image/gif,image/pjpeg,image/jpg"
  nameconflict="Overwrite"
  SavePath="D:\FOUREYES\WEBDEV\foureyesweb.com\bombo\Uploads\Productions\"
  dbtype="odbc"
  DSN="Bombo"
  Table="Productions"
  RecordID_Name="ProductionID"
  RecordID="43">
 
The module is as follows: (including fusedoc!)
 
<!--------------- my fusedoc -----------------


Point: 
1) mod_upload_file.cfm will then loop through attributes:uploads and 
 run a CFFile Uploading to the attribute SavePath

2) It will then run a query on a Database (DSN) and Table (table) on a RecordID and 
field Name to
 insert/update the file name for this upload


Attributes IN:  Type = is this an Insert, Update (Remeber this is Mod_upload not 
Mod_delete!!!)
    This will determine which queryis being used
   
    UploadFields = Array for all files to be uploaded
        This is the form fileds that contain the files
    sample Uploads="Image1, Image2, Clip3"
    
    Accept = what type of file are we allowed to accept for this field
     sample accept="image/jpeg,image/gif,image/pjpeg,image/jpg"
    
    nameconflict = what to do when there is a name conflict
     accepted values = Error , Skip, Overwrite, MakeUnique
    
    SavePath the path for the files to be saved to
    sample SavePath="D:\FOUREYES\WEBDEV\foureyesweb.com\bombo\Uploads\Productions\"
    
    DBTYPE = Type of Database (ex.ODBC)
    
    DSN = the DB that the query should use
    sample DSN = "Bombo"
    
    Table = the table the query should use
    Table="Productions"
    
    RecordID_Name = the field name in the table of the primary key record ID

    RecordID = the Primary key number that the query should update
    
     
Output:   Nothing: this module only writes to a database

---->

<!---- Here we set up the loop to loop through all files that are uploaded ---->

 
<!--- we have to set a counter so we can track the loop --->
<cfset Counter=1> 

<cfloop index="UploadField" list="#Attributes.UploadFields#">

 <!--- Let's Upload some files / but we have to make sure that there is a file there 
first !
        this is where I have my problem....
 --->
 


<cfoutput>

   <cffile action="UPLOAD"
           filefield="#UploadField#"
           destination="#attributes.SavePath#"
           nameconflict="#attributes.nameconflict#"
           accept="#attributes.Accept#">
  
   <!---- now the query ---->
   <cfquery name="#UploadField#" datasource="#attributes.DSN#" 
dbtype="#attributes.dbtype#">
    UPDATE #attributes.Table#
    SET #UploadField# = '#file.serverfile#'
    WHERE #attributes.RecordID_Name# = #attributes.RecordID#
   </cfquery>
 </cfif>
</cfoutput>
 
 <!--- The last thing we do is update the counter --->
 <cfset Counter=Counter + 1>
</CFLOOP>

Ethan


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm

Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to