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_size
및
memory_limit
에 대한 설정 손보는 시도 플러그인의
FAQ 및 SO 그러나 어떤 성공을하지 않았에
this question. GitHub에서도
this issue이라는 비슷한 소리가 나왔지만 실제로 입력하지 않으면 닫혔습니다.
php.ini
설정을 무시하고 다른 작업을하는 이유는 무엇입니까?
찾고있는 내가 PHP의 한계에 대해 잘 모르겠어요,하지만 내의 OS (Windows 및 Linux 모두) 그 크기의 파일을 지원합니다. 업로드/전송 제한은 파일 덩어리 때문에 문제가되지 않아야합니다 (완벽하게 작동하는 것 같습니다). – m90
청크 크기가 문제가 아니며 (이전 설명대로) 파일 크기가 2GB (2^31)를 초과하면 문제가 발생합니다. 그것이 내가 보는 방법입니다. 그리고 논리적으로는 32 비트 문제를 지적합니다. 왜 파일 크기 제한을 테스트하고 (내부 코드와 코드) PHP 변수를 볼 수있는 샘플 PHP 페이지를 작성하지 않는가? 그냥 시도해라! ... 다른 것을하기 전에 내부 PHP 변수를 먼저 덤프하십시오. – CKmum
관련 : http://stackoverflow.com/questions/13574542/4gb-http-file-uploads-using-jquery-file-upload-apache-and-php? rq = 1 – CKmum