2 Replies Latest reply on Nov 11, 2006 12:36 AM by BKBK

    upload timeouts - script timeout

    539E
      The webhost has SeeFusion setup to disable scripts over 50 sec.

      I have problems running this for some song uploads...
      -------------
      <cffile action="upload" filefield="clip" destination="c:\Websites\123\Songs\#form.writer#\" accept="audio/mpeg" nameconflict="MakeUnique">
      <cfset clip = CFFILE.ServerFile>
      <cffile action="upload" filefield="full" accept="audio/mpeg" destination="c:\Websites\123\Songs\#form.writer#\" nameconflict="makeunique">
      <cfset full = CFFILE.ServerFile>
      <cfquery name="ad" datasource="#ds#"> insert into Songs (Wid,clip,title,full,tempoid,style)
      Values ('#form.writer#','#clip#','#form.title#','#full#','#form.tempoid#','#form.style#')
      </cfquery> <cflocation url="main.cfm?frm=song&A=list">
      --------------
      Any ideas to shorten the amount of time to execute? ...or is it really a timeout of the upload of a full song?

      The actual error sometimes is like this...
      SeeFusion terminated request: Page Time at 50313ms >= limit of 50000ms (rule "latentpages")
        • 1. Re: upload timeouts - script timeout
          jdeline Level 1
          This may not work, but could be worth a try. First try to determine what file size is guaranteed to always upload. Then chop up the file you want to upload into pieces of that size or smaller, making sure the filesize is divisible by 8. Do a binary upload of them as fragment1.zzz, fragment2.zzz, fragment3.zzz, etc. (this can be done from one CF page by placing CFFILE in a loop.) Pass the names to a second CF page using CFLOCATION and stitch the fragments together.

          I'm not sure what a 0x00 or 0xff would do to this scheme, but a simple experiment should determine feasibility.
          • 2. upload timeouts - script timeout
            BKBK Adobe Community Professional & MVP
            You might just gain those extra seconds by performing the query in a separate request. For example, put the following just after the cffile tags

            <cfscript>
            request.writer = form.writer;
            request.clip = clip;
            request.title = form.title;
            request.full = full;
            request.tempoid = form.tempoid;
            request.style = form.style;
            getPageContext().forward("somePageInYourApp.cfm");
            </cfscript>

            Then move the query code to somePageInYourApp.cfm.