1

Coldfusion について学んでいますが、同僚のために作成しているこの小さなフォーム ベースのアプリケーションで問題が発生しています。

ここに最初のページがあります: http://pastebin.com/aLPYHPsF

ご覧のとおり、私がやりたいことは、ユーザー入力を取得し、その入力を取得して html に出力することです。テキストは正常に機能しますが、画像をアップロードできません! 私がやりたいことは、ユーザーがアップロードをクリックして確認を取得し、送信をクリックして、生成された html (cfm) ページに送信することです。ページには、アップロードされた画像のサイズ変更されたバージョンがあります。私が間違っていることを教えてください!現在、「アップロード」をクリックすると、フォームがダンプされます。

4

2 に答える 2

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>
于 2010-08-12T01:32:20.680 に答える
1

<cfdiv>画像のアップロード セクションでの使用を検討することをお勧めします。<cfdiv>基本的に、フォームが ajax を介して送信されるように、画像をアップロードするためのフォームを 内に配置する必要があります。を使用する previewImage.cfm にイメージ フォーム アクションをポストし、それがイメージ ファイルであるかどうか<cffileupload>を検証してから、 を使用してサイズを変更し、サムネイルを表示します ( を使用する場合があります)。アップロードされた画像を親フォームに関連付ける最も簡単な方法は、余分な Javascript をコーディングしたくない場合に、ファイル パスを Session に保存することです。isImageFile()<cfimage>action="writetobrowser"

于 2010-08-11T21:44:10.627 に答える