2010-10-19 91 views
1

我正在使用CF-8,windows-XP和IE 5.5。<cffile action =「Read」>沒有得到想要的上傳文件

我正在使用簡單的標籤。但我得到的輸出是沿着witht文件的文本(word文檔)

upld.cfm純gibberih

<cffile action="read" file="C:\ColdFusion8\wwwroot\Proj\updl\fileDisk\SOL.doc" variable="fileDisk" > 
      <cfoutput>#fileDisk# 
     </cfoutput> 

<cfoutput> 
<form name="upload" method="post" action="actionUpld.cfm?form_Num=#form_Num#" enctype="multipart/form-data"> 

<input name="uplForm" id="uplForm" type="file" > 
<input type="submit" name="submitUpld" value="Save" onclick="" > 

</form> 
</cfoutput> 

actionUpld.cfm

<cftry> 
<cfscript>   
      newUPL = CreateCFC('cfcs.projDB');  
      newUPL.Implementation_Num = url.form_Num; 
      newUPL.uplForm = form.uplForm; 
      newUPL.putUPL();   
</cfscript> 
<cfcatch type="any" > 
     <cfoutput > 
      <hr> 
      <h4>Other Error: #cfcatch.Type#</h4> 
       <li><b>Message:</b> #cfcatch.Message# 
       <li><b>Detail:</b> #cfcatch.Detail# 
       <li><b>Error Code:</b> #cfcatch.ErrorCode# 
      </cfoutput> 
     </cfcatch> 
</cftry> 
<cflocation url="upld.cfm??form_Num=#form_Num#" > 

如何最好地使用CFFILE輸出文件?

而且當我看DB,我得到的文件名

"C:\ColdFusion8\runtime\servers\coldfusion\SERVER-INF\temp\wwwroot-tmp\qeq344.tmp" 
How to correct it? 

有沒有什麼更好的辦法。

+2

您可以發佈一些代碼並指明您想要讀取哪種文件類型?幾乎沒有繼續,我的猜測是你可能試圖讀取二進制文件..? – Leigh 2010-10-19 17:11:39

+0

我正在嘗試讀取MS字文件。我添加到數據庫表的位置不是我想要添加的位置,因爲它位於CF8下的臨時文件夾 – Fransis 2010-10-19 17:42:36

+0

,其中我想將一個文件夾添加到專用文件夾。 – Fransis 2010-10-19 17:43:16

回答

2

而且當我看DB,我是 獲取文件名C:\ ColdFusion8 \運行\服務器\的ColdFusion \ SERVER-INF \ TEMP \ wwwroot的-TMP \ qeq344.tmp

這是分配給新上載文件的臨時文件名。在您的操作頁面上,您需要使用cffile action="upload" ...將該臨時文件移動到所需位置。這將填充一個名爲CFFILE的結構,其中包含有關上傳文件的詳細信息,如CFFILE.serverFileCFFILE.serverDirectory。 (或使用「結果」屬性輸出細節,任何結構的名字你選擇。)

如何最好地使用CFFILE輸出 文件?

您無法使用cfoutput顯示二進制文件(如* .doc)。要在瀏覽器中顯示/下載此類文件,請使用cfcontent

+0

當我在「upld.cfm」中使用來顯示已保存的附件結果時,「cfcontent /下載文件」首先啓動,並且不允許整個頁面顯示 – Fransis 2010-10-20 14:20:46

+1

是的,您無法在同一頁。 (不是沒有嵌入或可能的iframes)。原因是一個頁面只能有一個(1)內容類型。即它可以是單詞文檔(「application/msword」)或「text/html」,但不能同時爲兩者。因此,您的cfcontent會導致頁面中其他文本/ html被忽略。如果您想顯示其他html,請將cfcontent放在單獨的腳本中,並從主頁面鏈接到它。 – Leigh 2010-10-20 14:47:54

相關問題