2012-11-30 7 views
1

jQuery-File-Upload 플러그인을 사용하여 대용량 파일에 간단한 청크 파일 업로드를 구현하려고합니다. 나는 폴더로 GitHub의-REPO를 복제하고 다음에 나의 main.js 변경 : 해당 문서에 설명 된대로jQuery 파일 업로드 플러그인을 2.1GB로 재설정

$('#fileupload').fileupload({ 
    maxChunkSize: 10000000, 
    add: function (e, data) { 
     var that = this; 
     $.getJSON('server/php/', {file: data.files[0].name}, function (file) { 
      data.uploadedBytes = file && file.size; 
      $.blueimp.fileupload.prototype.options.add.call(that, e, data); 
     }); 
    } 
}); 

합니다. 이것은 최대 2GB의 파일 (콘솔과 서버에서 덩어리를 볼 수 있음)에서 잘 작동하지만 2.1GB보다 큰 파일을 업로드하려고하면 다음과 같은 결과가 발생합니다. 데이터의 마지막 덩어리가 올바르게 추가됩니다. 기존 파일 myUpload.file을 입력 한 다음 스크립트에서 새 파일 myUpload.file (1)을 작성하기 시작합니다. 클라이언트 측과 서버 측 모두 오류가 발생하지 않습니다. 두 번째 파일 크기가 2.1GB에 도달 할 때도 마찬가지입니다. 파일의 진행률 카운터가 재설정되지만 전반적인 진행률 카운터가 오버플로되어 142 % (및 계산 중)라고 표시됩니다.

저는 서버 측에서 PHP 5.3.5를 실행하고 있습니다.

는 이미 설명처럼 max_post_size, upload_max_file_sizememory_limit에 대한 설정 손보는 시도 플러그인의 FAQ 및 SO 그러나 어떤 성공을하지 않았에 this question. GitHub에서도 this issue이라는 비슷한 소리가 나왔지만 실제로 입력하지 않으면 닫혔습니다.

php.ini 설정을 무시하고 다른 작업을하는 이유는 무엇입니까?

답변

2

서버 OS 및 파일 시스템이 해당 대형 파일을 지원하는지 확인하십시오. 매우 오래된 32 비트 시스템에는 2GB 이상의 문제가있었습니다. 또한 32 비트 프레임 워크에는 32 비트 부호있는 정수로 정의 된 내부 카운터가있을 수 있습니다.

이 컴퓨터 기초부터 그냥 일반 추측하지만

편집을 시도할만한 가치 : 이것은 당신이 4GB HTTP File Uploads Using jQuery-File-Upload, Apache and PHP

+0

찾고있는 내가 PHP의 한계에 대해 잘 모르겠어요,하지만 내의 OS (Windows 및 Linux 모두) 그 크기의 파일을 지원합니다. 업로드/전송 제한은 파일 덩어리 때문에 문제가되지 않아야합니다 (완벽하게 작동하는 것 같습니다). – m90

+2

청크 크기가 문제가 아니며 (이전 설명대로) 파일 크기가 2GB (2^31)를 초과하면 문제가 발생합니다. 그것이 내가 보는 방법입니다. 그리고 논리적으로는 32 비트 문제를 지적합니다. 왜 파일 크기 제한을 테스트하고 (내부 코드와 코드) PHP 변수를 볼 수있는 샘플 PHP 페이지를 작성하지 않는가? 그냥 시도해라! ... 다른 것을하기 전에 내부 PHP 변수를 먼저 덤프하십시오. – CKmum

+0

관련 : http://stackoverflow.com/questions/13574542/4gb-http-file-uploads-using-jquery-file-upload-apache-and-php? rq = 1 – CKmum

관련 문제