Strange Form problem: cffile not working
嗯...奇怪的问题......
我正在制作一个上传教学大纲的表格。基本上,有人去搜索课程并选择"上传Syllabi"课程旁边的按钮。接下来,将弹出一个窗口,提示他们输入文件。我传递此页面信息以将URL插入数据库等。
1 | <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')"/> |
它被传递到这个页面:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <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>Upload Syllabi for <cfoutput>#session.semester# #session.course# #session.ref#</cfoutput> </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">[close]</td> </tr> </table> </form> |
我最初没有会话变量......但我遇到了url.semest的一些问题......而我刚刚把它们留在那里。
无论如何......当提交表单时,应该转到此页面:
upload_action.cfm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <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 to Maritime Studies Syllabus2.rtf在action delete中指定不存在。
我是否删除了cffile错误?
: 不确定..
可能是浏览器问题,或者您有某种防病毒,代理或防火墙搞乱上传。 正如你所说,你告诉浏览器使用正确的编码,所以大概是在某处翻译丢失了。
选项2是您看到缓存页面而不是具有正确表单的版本。 尝试清除浏览器缓存。
编辑:其实这个问题很简单。 你没有告诉它在表单上使用method ="POST"。