2013-05-15 5 views
2

파일 업로드를 위해 PHP 예제 오류보고 스크립트와 함께 jQuery 종속이 아닌 FineUploader를 사용하고 있습니다. 청킹 및 다시 시작 기능이 켜져 있습니다. 모든 처리는 수정없이 PHP 예제 스크립트에서 처리됩니다.'File is empty'오류로 업로드를 중단하는 오류가 발생했습니다.

최대 90MB의 테스트 파일에서 성공적으로 작동하지만 329MB의 파일을 업로드하려고 시도하면 업로드가 시작되지만 '파일이 비어 있습니다'오류로 중단됩니다.

내 청크 폴더에서 오류가 발생하기 전에 약 77MB의 파일이 업로드 된 것을 볼 수 있습니다. 재개 시도는 작동하지 않으며 청크 디렉토리의 크기를 증가시키지 않습니다.

환경 : LAMP, Centos 6.3.

post_max_sizeupload_max_filesize은 모두 php.ini에서 2048M으로 설정됩니다.

이 문제의 징후가 있습니까? 추가 정보를 제공해 주시면 기쁘게 생각합니다.

업 로더 코드 :

<div id="failed-fine-uploader"></div> 

<script> 
function createUploader() { 
var faileduploader = new qq.FineUploader({ 
element: document.getElementById('failed-fine-uploader'), 
request: { 
    endpoint: 'example.php' 
}, 
chunking: { 
     enabled: true 
}, 
resume: { 
     enabled: true 
}, 
failedUploadTextDisplay: { 
    mode: 'custom', 
    maxChars: 40, 
    responseProperty: 'error', 
    enableTooltip: true 
} 
}); 
} 
window.onload = createUploader; 
</script> 

편집 : 콘솔 정보 :이 (오히려 도움이되지 않는) 오류가 발생하는 경우

[17:31:09.314] [FineUploader] Processing 1 files or inputs... 
[17:31:09.315] [FineUploader] Resuming CentOS-6.3-x86_64-minimal.iso at partition index 40 
[17:31:09.316] [FineUploader] Sending chunked upload request for item 4: bytes 80000001-82000000 of 346011648 
[17:31:09.504] [FineUploader] xhr - server response received for 4 
[17:31:09.504] [FineUploader] responseText = {"error":"File is empty.","uploadName":null} 
+0

http://stackoverflow.com/questions/16276284/fine-uploader-file-is-empty 가능한 중복. 원시 요청을 살펴본 후 Content-Length 헤더 값을 확인 했습니까? –

+0

콘솔 데이터가 실패한 지점에 방금 추가했습니다. 링크 된 질문 (내가 읽은)과 달리 이것은 아약스가 아니며 100 % 실패합니다. – monkeymatrix

+0

추가 : 청킹을 해제하면 파일 업로드 진행률 표시 줄이 100 %가되고 * 다음 * '파일이 비어 있습니다'오류가 발생합니다. – monkeymatrix

답변

2

, 그것은 여러 가지가 될 수있다, 그래서 나는 좋을 걸 그들 모두를 확인하십시오. 이 대답은이 오류가 발생한 것으로 보이는 '매우 큰'파일의 맥락에서 발생합니다. (

post_max_size가 파일 크기 (최대 2G)

upload_max_filesize를 커버 할만큼 높게 설정은 파일 크기를 커버 할만큼 높게 설정되어 최대 2G를 :

php.ini 파일에서

, 보장하기 위하여 확인)

그 은 (http://www.php.net/manual/en/ini.core.php#ini.post-max-size에서 권장하는대로) upload_max_filesize보다 크고, memory_limitpost_max_size보다 큽니다. 이러한 요소로 인해 $_FILES 수퍼 글로벌이 비어있는 것으로 반환되어 업로드 오류가 발생할 수 있습니다. php.ini 파일에서 시도

다른 것들 :

max_execution_time 그건 (큰 파일은 일반적으로 30의 기본값보다 더 오래 걸릴) 업로드의 기간을 계정에 걸릴 증가하고 max_input_time도 그에 따라 증가 .

LimitRequestBody 지시어로 httpd.conf를 수정해야 할 수도 있습니다. php.ini에 지정된 내용보다 우선 할 수 있습니다. 이 값은 바이트 단위로 지정되며 httpd.conf 또는 .htaccess 파일에서 직접 지정할 수 있습니다 (사용자 권한 무시가 있다고 가정). 다음과 같이 보안을 위해 디렉토리별로 지정할 수도 있습니다.

<Directory "/var/www/myuploaddir/"> 
     LimitRequestBody 1073741824 
</Directory> 

마지막으로 업로드중인 파일에 대해 임시적이고 비 임시적인 저장 공간이 있는지 확인하십시오. 패키지가 '공간 부족'오류를 포착하지 않습니다.

+0

좋은 정보는 여기에 있습니다. 필자가 PHP 개발자가 아니기 때문에 PHP 예제는 제공되지 않았습니다. 무슨 특별한 쟁점이 당신을 슬프게하게 만들었습니까? –

+0

결국에는 확실하지 않습니다. 나는 많은 것을 시도했다. – monkeymatrix

관련 문제