File upload 使用Coldfusion.Navigation显示文件上载的结果?
我想使用一个主页,在那里我将显示一个上传表单(在另一个文件中)。上传(动作文件结果)后,我想在同一页上显示上传结果 这是我的三个文件: index.cfmFile upload 使用Coldfusion.Navigation显示文件上载的结果?,file-upload,coldfusion,File Upload,Coldfusion,我想使用一个主页,在那里我将显示一个上传表单(在另一个文件中)。上传(动作文件结果)后,我想在同一页上显示上传结果 这是我的三个文件: index.cfm <html> <head> <title>HomePage</title> <cfajaximport tags="CFFORM"> </head> <body> <cfdiv id="Main" style="width:100
<html>
<head>
<title>HomePage</title>
<cfajaximport tags="CFFORM">
</head>
<body>
<cfdiv id="Main" style="width:1000px; height:600px" >
<cfdiv id="Options" style=" width:100%;height:20%" >
Welcome Admin, <a href="javascript:ColdFusion.navigate('FileUpload.cfm','Content')" class="settings">Update </a><a href="#" class="logout">Logout</a>
</cfdiv>
<cfdiv id="Content" style=" width:100%;height:80%">
<h2>Here Goes Form and FileUploading</h2>
</cfdiv>
</cfdiv>
</body>
</html>
<html>
<head>
<title>Upload A File</title>
</head>
<body >
<cflayout type="vbox" name="layout1">
<cflayoutarea>
<cfform enctype="multipart/form-data" action="FileReceiver.cfm" >
File To Upload:
<cfinput type="file" name="Filename" size="50" >
<br/>
<cfinput type="submit" name="UploadFile" value="UPLOAD THIS FILE">
<br/>
</cfform>
</cflayoutarea>
<cflayoutarea>
<table border="1" >
<tr>
<th >
Directory Information
</th>
</tr>
<tr>
<td>
<cfoutput >
CurrectDirectory Path: #getdirectoryFromPath(expandPath("index.cfm"))#
</cfoutput>
</td>
</tr>
</table>
</cflayoutarea>
</cflayout>
</body>
</html>
<cfif isdefined('UploadFile') >
<cfoutput >
<cffile nameconflict="makeunique"
action="upload"
filefield="Form.Filename"
destination="#getdirectoryFromPath(expandPath("index.cfm"))#" >
<!--- or destination="c:\Upload\"--->
File upload was successful!
</cfoutput>
</cfif>
主页
欢迎管理员,
这里是表单和文件上传
FileUpload.cfm
<html>
<head>
<title>HomePage</title>
<cfajaximport tags="CFFORM">
</head>
<body>
<cfdiv id="Main" style="width:1000px; height:600px" >
<cfdiv id="Options" style=" width:100%;height:20%" >
Welcome Admin, <a href="javascript:ColdFusion.navigate('FileUpload.cfm','Content')" class="settings">Update </a><a href="#" class="logout">Logout</a>
</cfdiv>
<cfdiv id="Content" style=" width:100%;height:80%">
<h2>Here Goes Form and FileUploading</h2>
</cfdiv>
</cfdiv>
</body>
</html>
<html>
<head>
<title>Upload A File</title>
</head>
<body >
<cflayout type="vbox" name="layout1">
<cflayoutarea>
<cfform enctype="multipart/form-data" action="FileReceiver.cfm" >
File To Upload:
<cfinput type="file" name="Filename" size="50" >
<br/>
<cfinput type="submit" name="UploadFile" value="UPLOAD THIS FILE">
<br/>
</cfform>
</cflayoutarea>
<cflayoutarea>
<table border="1" >
<tr>
<th >
Directory Information
</th>
</tr>
<tr>
<td>
<cfoutput >
CurrectDirectory Path: #getdirectoryFromPath(expandPath("index.cfm"))#
</cfoutput>
</td>
</tr>
</table>
</cflayoutarea>
</cflayout>
</body>
</html>
<cfif isdefined('UploadFile') >
<cfoutput >
<cffile nameconflict="makeunique"
action="upload"
filefield="Form.Filename"
destination="#getdirectoryFromPath(expandPath("index.cfm"))#" >
<!--- or destination="c:\Upload\"--->
File upload was successful!
</cfoutput>
</cfif>
上传文件
要上载的文件:
目录信息
当前目录路径:#getdirectoryFromPath(expandPath(“index.cfm”))#
FileReceiver.cfm
<html>
<head>
<title>HomePage</title>
<cfajaximport tags="CFFORM">
</head>
<body>
<cfdiv id="Main" style="width:1000px; height:600px" >
<cfdiv id="Options" style=" width:100%;height:20%" >
Welcome Admin, <a href="javascript:ColdFusion.navigate('FileUpload.cfm','Content')" class="settings">Update </a><a href="#" class="logout">Logout</a>
</cfdiv>
<cfdiv id="Content" style=" width:100%;height:80%">
<h2>Here Goes Form and FileUploading</h2>
</cfdiv>
</cfdiv>
</body>
</html>
<html>
<head>
<title>Upload A File</title>
</head>
<body >
<cflayout type="vbox" name="layout1">
<cflayoutarea>
<cfform enctype="multipart/form-data" action="FileReceiver.cfm" >
File To Upload:
<cfinput type="file" name="Filename" size="50" >
<br/>
<cfinput type="submit" name="UploadFile" value="UPLOAD THIS FILE">
<br/>
</cfform>
</cflayoutarea>
<cflayoutarea>
<table border="1" >
<tr>
<th >
Directory Information
</th>
</tr>
<tr>
<td>
<cfoutput >
CurrectDirectory Path: #getdirectoryFromPath(expandPath("index.cfm"))#
</cfoutput>
</td>
</tr>
</table>
</cflayoutarea>
</cflayout>
</body>
</html>
<cfif isdefined('UploadFile') >
<cfoutput >
<cffile nameconflict="makeunique"
action="upload"
filefield="Form.Filename"
destination="#getdirectoryFromPath(expandPath("index.cfm"))#" >
<!--- or destination="c:\Upload\"--->
File upload was successful!
</cfoutput>
</cfif>
文件上传成功!
当我单击“更新链接”时,索引页面会在其中一个容器中显示FileUpload.cfm页面。但上传文件时,我总是收到一条错误消息:
检索元素cf_layoutarea736558924094373的标记时出错:
无效的内容类型:application/x-www-form-urlencoded;
字符集=UTF-8。[通过将“cfdebug”添加到URL来启用调试
参数以查看更多信息]
请帮助我以正确的方式进行操作,因为我无法找出问题所在。在可能键入错误的cffile标记中,您有以下内容:
filefield="Form.Filename"
,建议您只需要表单字段的名称,而不需要限定。我猜您实际上没有得到表单范围值。 为了上传文件,您使用了正确的多部分/表单数据,并且cfform中method属性的默认值是POST,看起来也不错 问题可能是因为CFFileNonMultipartException 在上载代码之前转储表单作用域,以检查是否在filereceiver.cfm上获取了所有表单值 您也可以尝试不使用cfform
<form action="FileReceiver.cfm" method="post" enctype="multipart/form-data">
<input type="file" name="Filename">
<input type="submit" name="UploadFile" value="UPLOAD THIS FILE">
</form>
是的,达尔梅什,你可以在这里玩小把戏。摆脱FileReceiver.cfm页面。在index.cfm中添加此代码
<cfif structKeyExists(FORM,"filename")>
<cffile action="upload" filefield="Form.Filename" destination="#getdirectoryFromPath(expandPath("index.cfm"))#" result = "fileUploaded">
<cfif isDefined("fileUploaded") AND fileUploaded.FILEWASSAVED EQ "yes">
Success
</cfif>
</cfif>
成功
然后将您的表单提交到index.cfm而不是fileReceiver.cfm是否有您没有向我们显示的cffile标记?谢谢Sam,它通过用html和替换来工作。但我之所以使用,是因为我想在cfform所在的同一容器中显示返回的loadsuccess消息,实际上,当我阅读cfform submission时,它会在容器中显示结果,而html表单会将您带到新页面。。。我仍然可以这样做吗?以什么方式?谢谢Dan,但是这个参数似乎没有问题,因为我们必须传递一个表单字段,但没有磅号。