jQuery-File-Uploadプラグインを使用して、大きなファイルの単純なチャンク ファイル アップロードを実装しようとしています。GitHub リポジトリをフォルダーに複製main.js
し、次のように変更しました。
$('#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 番目のファイルが 2.1GB のサイズに達すると、同じことが起こります。ファイルの進行状況カウンターはリセットされますが、全体的な進行状況カウンターはオーバーフローし、142% (および数えている) 完了したことがわかります。
サーバー側で PHP 5.3.5 を実行しています。
私はすでに の設定をいじってみましたがmax_post_size
、プラグインのFAQとSO に関するこの質問upload_max_file_size
で説明されているように、成功しませんでした。似ているように聞こえるこの問題も GitHub で見つけましたが、実際の入力なしでクローズされました。memory_limit
設定をいじる以外はphp.ini
、これについてどうすればよいかわかりません。