Forms 奇怪的表单问题:cffile不工作
嗯…奇怪的问题 我正在做一个表格上传教学大纲。基本上,有人去搜索一门课程,然后选择课程旁边的按钮,上面写着上传教学大纲。接下来,将弹出一个窗口,提示他们输入文件。我通过此页面信息将URL插入数据库等Forms 奇怪的表单问题:cffile不工作,forms,coldfusion,upload,cffile,Forms,Coldfusion,Upload,Cffile,嗯…奇怪的问题 我正在做一个表格上传教学大纲。基本上,有人去搜索一门课程,然后选择课程旁边的按钮,上面写着上传教学大纲。接下来,将弹出一个窗口,提示他们输入文件。我通过此页面信息将URL插入数据库等 <input name="upload" type="button" value = "Upload Syllabi" id = "uploads" onclick = "window.open('upload_syllabi.cfm?course=#course#&semest=#s
<input name="upload" type="button" value = "Upload Syllabi" id = "uploads" onclick = "window.open('upload_syllabi.cfm?course=#course#&semest=#semester#&ref=#refnum#','popup','width=350,height=170,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0')"/>
它将传递到此页面:
<cfset session.semester = #url.semest#>
<cfset session.course = #url.course#>
<cfset session.ref = #url.ref#>
<form name = "uploadForm" enctype = "multipart/form-data" action = "upload_action.cfm">
<table align="center" class = "contenttable">
<tr>
<td><h3>Upload Syllabi for <cfoutput><b>#session.semester# #session.course# #session.ref#</b></cfoutput></h3> </td>
</tr>
<tr>
<td align="center">
<input name="syllabiUpload" id = "uploader" type="file" />
</td>
</tr>
<tr>
<td align="center">
<input type="submit" name="uploaded" id="uploaded" value="Upload" />
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="center"><a href="javascript:window.close();">[close]</a></td>
</tr>
</table>
</form>
我本来没有会话变量…但是我在url.semest上遇到了一些问题…我只是把它们留在了那里
无论如何……提交表格时,应转到以下页面:
上传_action.cfm
<cffile action="upload" filefield="syllabiUpload" destination="#SyllabiLoc#" nameconflict="makeunique">
<cfset SyllabiURL = "#SyllabiPath##cffile.serverfile#">
<cfquery name="checkSyllabi" datasource="#sacsds#" username="#sacsuser#" password="#sacsuser#">
SELECT *
FROM faculty.dbo.Syllabi
WHERE faculty.dbo.syllabi.Semester = '#session.semester#'
AND faculty.dbo.syllabi.Refnum = '#session.ref#'
</cfquery>
<cfif getSyllabi.recordCount is 0>
<cfelse>
<cffile action="delete" file = "#checkSyllabi.url#">
</cfif>
<cfquery name="updateSyllabi" datasource="#sacsds#" username="#sacsuser#" password="#sacsuser#">
UPDATE faculty.dbo.Syllabi
SET url = '#SyllabiURL#'
WHERE Semester = '#session.semester#'
AND Refnum = '#session.ref#'
</cfquery>
<table align="center">
<tr>
<td> </td>
</tr>
<tr>
<td>Uploaded</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
单击“提交”按钮时出现此错误:
无效的内容类型:。
cffile action=upload要求表单使用enctype=multipart/form数据
有点奇怪…因为我的表格里肯定有那行代码
嗯
编辑:继续问题2
获取此错误:
在删除操作中指定的文件D:\ColdFusion8\runtime\servers\coldfusion\SERVER-INF\temp\wwwroot tmp\to海事研究教学大纲2.rtf不存在
我把CFL文件删除错了吗?
:\n不确定..可能是浏览器问题,或者您的上传被某种防病毒、代理或防火墙弄乱了。正如您所说的,您正在告诉浏览器使用正确的编码,因此这可能在翻译过程中迷失了方向 选项2是您看到的是缓存页面,而不是具有正确格式的版本。尝试清除浏览器缓存
编辑:其实问题很简单。您还没有告诉它在表单上使用method=POST。还有一个与此相关的问题。。。在上面的问题中编辑它,我就明白了为什么会出现错误。谢谢。问题2的解决方案:@Bri-在使用字符串函数之前,首先为什么值不正确。特别是,为什么要引用temp目录D:\ColdFusion8\runtime\servers\coldfusion\SERVER-INF\temp\wwwroot tmp?老实说,由于我们服务器的设置方式,最初制作这个系统的人用了一种奇怪的方式。我的部门不控制我们的服务器。:。。。因为我只是一名学生,在coldfusion的应用程序方面不太在行,我是在已经创建的基础上建立起来的,有点。这是一个我正试图修改的旧系统。我真的不知道那个参考是什么意思;事实是。。。大多数有用的标记都不起作用。。。也扮演了一个角色。。。我可以感谢我的IT部门。。。唉,很明显,我不知道你的变量或网站结构的值。但是通常有比使用字符串函数更干净的方法来构造文件路径。Cellyloc和CheckCellylli.url的值是什么?