1

ファイン アップローダーでは、ファイル アップロードの検証は各ファイル単位で機能します。選択したファイルのバッチ全体を検証したいと思います。10 個のファイルを選択したとします。バッチ全体のサイズは 10 MB で、アップロードの上限は 5 MB です。

選択したハエの合計サイズを取得する方法はありますか? 私はHtml5互換ブラウザとHtml4ブラウザ、つまりIEでそれをやりたいと思っています。

4

1 に答える 1

0

まず、ファイル API のサポートが必要なため、IE9 以前ではこれを行う方法がありません (IE9 以前には存在しません)。ファイル API のサポートがなければ、クライアント側でファイル サイズを決定する方法はまったくありません。

そうは言っても、他のすべてのブラウザーで解決策を提供できます。これの鍵は、onValidateBatch callbackの使用です。例えば:

var maxAllowedBatchSize = 5000000;

$('#uploadContainer').fineUploader({
    request: {
        endpoint: '/my/endpoint'
    }
)}
    .on('validateBatch', function(event, fileOrBlobDataArray) {
        var totalSize = 0;

        $.each(fileOrBlobDataArray, function(idx, fileOrBlobData) {
            totalSize += fileOrBlobData.size;
        });

        // Tell Fine Uploader to ignore the entire batch of files
        // if the batch exceeds the total size limit.
        if (totalSize > maxAllowedBatchSize) {
            return false;     
        } 
    });

このようなクライアント側のチェックはユーザーが操作できるため、サーバー側の検証も含める必要があります (ファイル API 以外のブラウザーでは機能しません)。

于 2013-07-17T12:54:06.650 に答える