Image Coldfusion表单和带有cffile的图像上载
我正在学习一些Coldfusion,但我为同事构建的这个基于表单的小应用程序遇到了问题 这是第一页: 如您所见,我想做的是获取用户输入,并将该输入输出到html。文本内容很好,但我无法上传图像!我要做的是让用户单击upload,获得确认,然后单击submit,然后将它们发送到生成的html cfm页面。页面上是他们上传的图像的大小调整版本。Image Coldfusion表单和带有cffile的图像上载,image,forms,coldfusion,upload,cffile,Image,Forms,Coldfusion,Upload,Cffile,我正在学习一些Coldfusion,但我为同事构建的这个基于表单的小应用程序遇到了问题 这是第一页: 如您所见,我想做的是获取用户输入,并将该输入输出到html。文本内容很好,但我无法上传图像!我要做的是让用户单击upload,获得确认,然后单击submit,然后将它们发送到生成的html cfm页面。页面上是他们上传的图像的大小调整版本。 请告诉我我做错了什么!现在单击“上载”时,表单将被转储。您可能需要查看图像上载部分的使用情况。基本上,您希望用于图像上传的表单位于内部,以便表单通过ajax
请告诉我我做错了什么!现在单击“上载”时,表单将被转储。您可能需要查看图像上载部分的使用情况。基本上,您希望用于图像上传的表单位于内部,以便表单通过ajax提交。将图像表单操作发布到previewImage.cfm,该previewImage.cfm使用isImageFile进行验证(如果它是图像文件),然后使用调整其大小并显示缩略图。可以使用action=writetobrowser。如果您不想编写额外的Javascript,将上载的图像与父窗体关联的最简单方法是在会话中存储文件路径。您可能需要研究图像上载部分的使用。基本上,您希望用于图像上传的表单位于内部,以便表单通过ajax提交。将图像表单操作发布到previewImage.cfm,该previewImage.cfm使用isImageFile进行验证(如果它是图像文件),然后使用调整其大小并显示缩略图。可以使用action=writetobrowser。如果您不想编写额外的Javascript,将上传的图像与父表单关联的最简单方法是在会话中存储文件路径。这是因为您忘记将enctype=multipart/form数据分配给第一个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>
这是因为您忘记将enctype=multipart/form数据分配给第一个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>
谢谢你的回复。但是,即使使用您使用的确切代码,当单击上载字段的提交按钮时,此表单仍会转储。ppshein,感谢您的回复。但是,即使使用了与您完全相同的代码,该表单在单击upload字段的submit按钮时仍会转储。