嗯...奇怪的问题......
我正在制作一个上传教学大纲的表格。基本上,有人去搜索课程并选择“上传Syllabi”课程旁边的按钮。接下来,将弹出一个窗口,提示他们输入文件。我传递此页面信息以将URL插入数据库等。
<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的一些问题...而我刚刚把它们留在那里。
无论如何......提交表单时,应该转到此页面: upload_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-data”。
有点奇怪...因为我的表格中肯定有那行代码......
... HM
编辑:继续问题#2。
出现此错误:
文件D:\ ColdFusion8 \ runtime \ servers \ coldfusion \ SERVER-INF \ temp \ wwwroot-tmp \ http://uwf.edu/acad/Syllabi/Introduction到Maritime Studies在操作删除中指定的Syllabus2.rtf不存在。
我是否删除了cffile错误? :\不确定..
答案 0 :(得分:2)
可能是浏览器问题,或者您有某种防病毒,代理或防火墙与上传混乱。正如你所说,你告诉浏览器使用正确的编码,所以大概是在某处翻译丢失了。
选项2是您看到的是缓存页面,而不是具有正确表单的版本。尝试清除浏览器缓存。
编辑:实际上问题很简单。你没有告诉它在表单上使用method =“POST”。