Search code examples
file-uploadcoldfusioncoldfusion-8

ColdFusion: No data was received in the uploaded file


My error report told me that an error has occurred when an user tried uploading an empty file to my server (don't ask why the user did that - I don't know) and now I want to catch that exception which said "No data was received in the uploaded file". I wonder if there is a better way than putting a <CFTRY> around the <CFFILE action="upload"> like this:

<CFTRY>
  <CFFILE action="upload" destination="#expandpath("upload")#" filefield="form.file" nameconflict="makeunique" />
  <CFCATCH>
    <!--- handle that error --->
  </CFCATCH>
</CFTRY>

Solution

  • Try/Catch is the way I usually handle it.

    <cftry>
        <cffile action="upload" ...>
    
        <cfcatch type="any">
            <cfif Find("Saving empty (zero-length) files is prohibited", CFCatch.Detail) GT 0>
    
                <!--- Create a zero length file on disk and continue processing as usual --->
                <cffile action="write" file="..." output="">
            <cfelse>
                <cfrethrow>
            </cfif>
        </cfcatch>
    </cftry>