2013-08-11 2 views
0

헬로,curl로 파일 업로드 및 http 오류보고

내 PC에서 파일을 선택하기위한 버튼이있는 html로 간단한 페이지를 만들어 업로드 할 수 있습니다.

 <div> 
     <input type="submit" name="my_file" id="my-file"></input> 
    </div> 

특수 파일을 업로드 할 수 있도록하고 사용자가 잘못된 파일을 업로드하는 경우 http 오류 (402)가 표시됩니다. 그래서 여기 http://ariejan.net/2010/06/07/uploading-files-with-curl/ 를 업로드 된 파일은 백엔드에 게시되고 파일이 확인 있었다면 오류를 전송 그렇지 않으면 업로드됩니다에 따르면

curl -i -F [email protected] 

:이 같은 컬 게시물을 했어요. 이제 내 질문은 백엔드에서이 402 http 오류를 어떻게 만들 수 있습니까? 그것이 자동으로 실행되는 서버 측인가, 아니면 파일이 올바르지 않을 때이 오류를 활성화해야합니까?

내가 질문을 이해하면 파일을 업로드 한 후 서버가 파일의 타당성을 검증 제대로

답변

1

, 감사 및 파일이 확인 응답은 200 OK 또는 파일이 유효하지 않은 경우 다음 (402)를 전송하는 경우 응답.

스크립트는 헤더를 출력에 작성해야합니다. 서버에서 실행중인 내용을 알지 못하면 훨씬 더 많은 것을 제공 할 수 없습니다.

당신이 PHP 스크립트로 파일을 업로드하는 경우, PHP는

http://php.net/manual/en/function.header.php

예를 들어

void header (string $string [, bool $replace = true [, int $http_response_code ]]) 
있습니다 다음은 PHP 가정합니다. header('HTTP/1.1 402 Payment Required');

402가 원하는 것이 맞습니까? W3에는 HTTP 상태 코드 목록이 있으며 아마도 거기에 대한 정보도있을 것입니다.

적절한 태그를 추가하십시오.

0

서버 측에서 유효성을 검사 할 파일을 업로드하는 것은 대체 옵션이어야합니다. 파일을 보내기 전에 유효성을 검사 할 수 있습니다. 파일 형식을 비활성화 할 수도 있습니다.

는 특정 파일을 선택할 수 있도록하려면 예는 이미지 파일 열기 대화 상자에서 선택할 수 있도록 것이다

<input type="file" accept="image/*" type="submit" name="my_file" id="my-file" /> 

. 콘텐츠 유형 목록 (마임 유형) : http://www.iana.org/assignments/media-types

FileListFile을 사용하여 파일 형식을 확인할 수도 있습니다. 실제 상황보기 : http://jsfiddle.net/Y6MjA/4/

var file = document.getElementById('my-file').files[0]; 
switch(file.type) 
{ 
    case 'image/png': 
    case 'image/gif': 
    case 'image/jpeg': 
     alert('Valid File Type'); 
     //success: upload your file via curl 
     break; 
    default: 
     alert('Invalid File Type'); 
}