2010-07-08 36 views
0

我有一個應用程序在ColdFusion MX 7.0中使用單一登錄進行登錄。它基本上 在application.cfm中有一個cfldap。但真正的問題是我正嘗試使用一個多文件上傳第三方工具,該工具提交給一個包含cffile和其中的東西的coldfusion腳本。 當我嘗試同時上傳超過3個文件時,基於Flash的工具和基於Java的工具都在注意一個問題。首先他們再次提示基於窗口的登錄。即使我正確輸入了憑據,上傳過程也會完全停止,只會上傳1/2 文件。ColdFusion MX 7.0基於Flash的多文件上傳器在2/3文件上傳後導致問題

+0

如果你能發佈的代碼,它可能會幫助我們追蹤問題。 – 2010-07-08 04:21:56

回答

0

爲multi_file上傳

<body> 
    <div id="EAFlashUpload_placeholder"></div> 
     <cfparam name="session.multiUploadError" default=""> 
     <cfif session.multiUploadError neq ""> 
      <font color="#FF0000"><em> <strong>Error Uploading File: </strong>  
      <cfoutput>#session.multiUploadError#</cfoutput></em></font> 

      <!--- ok. now wipe the error message clean for next time ---> 

      <cfset session.multiUploadError = ""> 

     </cfif><p></p> 
     <script type="text/javascript" src="swfobject.js"></script> 
     <script type="text/javascript"> 
      var params = { 
       wmode: "window" 
      }; 

      var attributes = { 
       id: "EAFlashUpload", 
       name: "EAFlashUpload"        
      }; 

      var flashvars = new Object();  
      flashvars["uploader.uploadUrl"] = "http://iapreview.ars.usda.gov/admin/sp2.5/MultiFileUpload.cfm"; 
     flashvars["viewFile"] = "TableView.swf"; 
     flashvars["queue.filesCountLimit"] = "30"; 
     flashvars["uploader.retrieveBrowserCookie"] = true; 

     swfobject.embedSWF("EAFUpload.swf", "EAFlashUpload_placeholder", "450", "350", "9.0.0", "expressInstall.swf", flashvars, params, attributes); 

    </script> 
</body> 

爲後端的ColdFusion腳本

<cftry> 
    <cfif isDefined("Form.Filedata")> 
     <cffile action="UPLOAD" filefield="Filedata" destination="#session.siteDirectory#\#session.Directory#" nameconflict="OVERWRITE"> 

     <cfif right(cffile.clientFile, 3) neq "htm" and right(cffile.clientFile,4) neq ".htm"> 


     <cfelse> 
      <cffile action="delete" file="#session.siteDirectory#\#session.Directory#\#cffile.clientFile#"> 
      <cfset session.multiUploadError = " " & session.multiUploadError & " #cffile.clientFile# could not be uploaded, because html files are not permitted.<br> "> 

     </cfif> 

    <!--- 
     <cffile action="APPEND" file="f:\sitepublisher_dev\sp2\juploadoutput.txt" output="#idx# - #session.siteDirectory#\#session.Directory#\#cffile.clientFile# (#cffile.fileSize#) at #cffile.timeLastModified#" addnewline="Yes"> 
    ---> 
    </cfif> 

該文件的代碼,接口(形式)的代碼尚未保存。請檢查目標文件夾是否存在並具有讀/寫權限。

0
<cftry> 
<cfif isDefined("Form.Filedata")> 
    <cffile action="UPLOAD" filefield="Filedata" destination="#session.siteDirectory#\#session.Directory#" nameconflict="OVERWRITE"> 

<cfif right(cffile.clientFile, 3) neq "htm" and right(cffile.clientFile,4) neq ".htm"> 


<cfelse> 
    <cffile action="delete" file="#session.siteDirectory#\#session.Directory#\#cffile.clientFile#"> 
    <cfset session.multiUploadError = " " & session.multiUploadError & " #cffile.clientFile# could not be uploaded, because html files are not permitted.<br> "> 

</cfif> 

<!--- 
<cffile action="APPEND" file="f:\sitepublisher_dev\sp2\juploadoutput.txt" output="#idx# - #session.siteDirectory#\#session.Directory#\#cffile.clientFile# (#cffile.fileSize#) at #cffile.timeLastModified#" addnewline="Yes"> 
---> 
</cfif> 
<cfcatch type="Any"> 
    <cfoutput><eaferror>The file has not been saved. Please check destination folder exists and has read/write permissions.</eaferror></cfoutput> 
    </cfcatch>