2010-08-11 71 views
1

我學習了一些ColdFusion和我有這個小型的基於應用程序我建立了一個同事的麻煩圖片上傳。ColdFusion表單並與CFFILE

這裏是第一頁:http://pastebin.com/aLPYHPsF

正如你所看到的,我想要做的就是讓用戶輸入並採取輸入和輸出到HTML。文字的東西工作正常,但我不能讓圖像上傳!我想要做的是讓用戶單擊上傳,獲得確認,然後單擊提交,然後將它們發送到生成的html(cfm)頁面。在頁面上是他們上傳圖片的尺寸調整版。 請告訴我我做錯了什麼!現在當點擊「上傳」時,表單只是轉儲。

回答

1

您可能想要使用<cfdiv>來查看圖片上傳部分。基本上你希望圖片上傳的表單位於<cfdiv>之內,以便表單通過ajax提交。將圖像表單動作發佈到使用<cffileupload>的previewImage.cfm,如果它是圖像文件,則使用isImageFile()進行驗證,然後使用<cfimage>調整其大小並顯示縮略圖(可能使用action="writetobrowser")。如果您不想編寫額外的Javascript代碼,將上傳的圖像與父表單關聯起來的最簡單方法是將文件路徑存儲在Session I中。

3

這是因爲你忘了ENCTYPE = 「的multipart/form-data的」 分配給您的第一CFFORM。我編輯了一些你的編碼。一探究竟。

<cfset strPath = ExpandPath("./") /> 
<cfset strPath = GetDirectoryFromPath(GetCurrentTemplatePath()) /> 

<table width="100%"> 
    <tr> 
     <td align="center"> 

<cfform name="ecaform" action="ecagenerator.cfm" enctype="multipart/form-data"> 
<table style="font-family: arial; font-size: 9pt"> 
    <tr><td height="30px" align="center" colspan="2" style="background-color: #020058; color: #FFFFFF; font-family: arial;"> 
      <b>ECA Newsletter Creation Form</b> 
     </td> 
    </tr> 
    <tr><td height="20"></td></tr> 
    <tr> 
     <td>Earned from:</td> 
     <td> 
      <cfinput 
        type="radio" 
        name="earnedfrom" 
        value="UC"> 
      UC 
      <cfinput 
        type="radio" 
        name="earnedfrom" 
        value="ECA"> 
      ECA 
     </td> 
    </tr> 
    <tr> 
     <td>First Name:</td> 
     <td> 
      <cfinput 
        name="firstname"> 
     </td> 
    </tr> 
    <tr> 
     <td>Last Name:</td> 
     <td> 
      <cfinput 
        name="lastname"> 
     </td> 
    </tr> 
    <tr> 
     <td>Instructor's Name:</td> 
     <td> 
      <cfinput 
        name="instructorname"> 
     </td> 
    </tr> 
    <tr> 
     <td>Date (MM/DD/YYYY):</td> 
     <td> 
      <cfinput 
        name="date"> 
     </td> 
    </tr> 
    <tr> 
     <td>Sex:</td> 
     <td> 
      <cfinput 
        type="radio" 
        name="sex" 
        value="male"> 
      Male 
      <cfinput 
        type="radio" 
        name="sex" 
        value="female"> 
      Female 
     </td> 
    </tr> 
    <tr> 
     <td>Certificate Type:</td> 
     <td> 
      <cfinput 
        type="radio" 
        name="certtype" 
        value="Private"> 
      Private 
      <cfinput 
        type="radio" 
        name="certtype" 
        value="Recreational"> 
      Recreational 
      <cfinput 
        type="radio" 
        name="certtype" 
        value="Commercial"> 
      Commercial 
     </td> 

    </tr> 
</table> 

<table style="font-family: arial; font-size: 9pt; margin-top: 20 px;"> 
    <tr> 
     <td> 
     Upload the photo: 
     </td> 
    </tr> 

    <tr> 
     <td> 
      <cfif isDefined("form.fileUpload")> 
       <cffile action="upload" 
       fileField="fileUpload" 
       destination="#strPath#" 
       accept="image/*"> 
       <cfimage action="resize" 
        width="200" 
        height="200" 
        source="#strPath##file.serverfile#" 
        destination="#strPath##file.serverfile#" 
        overwrite="yes">     
       <img src="<cfoutput>#file.serverfile#</cfoutput>"> 
      </cfif> 

     </td> 
    </tr> 
    <tr> 
     <td> 
      <form enctype="multipart/form-data" 
       method="post"> 
      <input type="file" 
       name="fileUpload" /><br /><br /> 
      <input type="submit" 
       value="Submit" 
       action="ecagenerator.cfm" /> 
      </form> 
     </td> 
    </tr> 

</table> 
<table style="margin-top: 20px;"> 
    <tr> 
      <td> 
       <cfinput 
         type="submit" 
         name="Submit" 
         value="Submit"> 
      </td> 
     </tr> 
</table> 

</cfform> 
     </td> 
    </tr> 
</table> 
+0

ppshein,謝謝你的迴應。但是,即使使用確實的代碼,此表單仍會在點擊上傳字段的提交按鈕時轉儲。 – Tyler 2010-08-13 19:17:40