2012-09-05 1 views
1

내 서버에 파일을 업로드하는 데이 코드를 사용하려고하는데 오류가 발생했습니다.CFFILE 모든 문제 업로드 - Coldfusion 9

<cfif isdefined("form.submit")> 
    <cffile action="uploadall" destination="#expandpath('../../images/Uploads/after')#"> 
</cfif> 
<cfform action="#cgi.script_name#" enctype="multipart/form-data"> 
    <cfinput type="file" name="attachment1"><br> 
    <cfinput type="file" name="attachment2"><br> 
    <cfinput type="file" name="attachment3"><br> 
    <cfinput type="submit" name=" submit" value="submit"> 
</cfform> 

이것은 오류입니다 :

코드입니다

The following information is meant for the website developer for debugging purposes.

Error Occurred While Processing Request

Invalid content type: application/x-www-form-urlencoded.

The files upload action requires forms to use enctype="multipart/form-data".

The error occurred in E:\sites\Example.Com\testing\handlers\upload\after.cfm: line 20

+1

가 있습니까 CF9 또는 9.0.1을 실행하고 있습니까? 9.0.1 업데이터에서 수정 된 CF9의 원본 버전의 파일 업로드 제어에는 여러 가지 문제가있었습니다. – Brian

+0

9.0.1을 사용하고 있습니다. – Geo

답변

1

나는 다른 해결책으로 옮겼습니다.하지만 대답은 명백히 미쳐서 (Coldfusion에서 기이 한 일부 문제에 대한 고정 관념이기 때문에) 귀하의 질문에 대답하고 싶습니다. 문제는 <cfform> simply doesn't support the enctype attribute입니다. 파일을 업로드하려면 평야 <form>을 사용해야합니다. 이상하지, 그렇지?

(필자는 PHP 버전에서 파일 입력 결과와는 cfform가 올바르게 자동으로 설정 될 수 있도록 당신이 XSLT를 변경할 수도있을 것 같군요.하지만 상자에서이 작업을 수행하지 않는 이유 내 능력 밖입니다.)

+0

나는 그것을 시험 할 예정이다! cfform이 enctype을 지원하지 않으면 일반 형식도 지원하지 않는다고 생각하기 때문에 마지막으로 생각할 것입니다. 감사! – Geo

+0

실제로 지원됩니다. 여분의 html 속성은'

' 태그에 바로 전달됩니다. – Leigh

0

당신이 대상 속성에 참조하는 디렉토리 구조가 '("#expandpath를'존재 ../ ../images/Uploads/after')# " '?

대상 속성이 절대 경로가 아닌 경우 ColdFusion의 임시 디렉토리와 관련이 있습니다. 웹 루트 또는 실행중인 템플릿과 관련이 없습니다. 여기

는 문서 파일을 업로드 할 수있는 디렉토리의 here

경로 이름의 설명이다. 드라이브 문자와 콜론 또는 정방향 또는 역방향 슬래시로 시작하는 절대 경로가 아닌 경우 GetTempDirectory 함수가 반환하는 ColdFusion 임시 디렉토리를 기준으로합니다.

+0

경로가 맞습니다. 내 질문을 게시하기 전에 먼저 확인해야합니다. – Geo

+0

ColdFusion에 해당 디렉토리에 대한 권한이 없다는 또 다른 문제점이있을 수 있습니다. 임시 디렉토리 자체를 #expandpath ('./ uploads') #으로 변경하여 문제를 계속 시도 했습니까? –

+0

그래, 나도 그랬어 :) – Geo