1

jQueryを使用してファイルアップローダーのパフォーマンスを向上させる方法はありますか?アップロードプロセスを改善するためにハッキングしようとしているシステムがあります。サーバーファイルへのアクセス許可がないため、フロントエンドのオーバーライドを行っています。

現在のアップローダーは次のようになります。

<ul>
<li> <input type="file"></li>
<li> <input type="file"></li>
<li> <input type="file"></li>
<li> <input type="file"></li>
<li> <input type="file"></li>
</ul>

これを使用することの欠点は、画像を1つずつ選択する必要があり、5つのアイテムしかアップロードできないことです。

そこで、入力の1つにmultiple = "multiple"属性を追加して、複数のアイテムを選択できるようにしました。

<ul>
<li> <input type="file" multiple="multiple"></li>
<li> <input type="file"></li>
<li> <input type="file"></li>
<li> <input type="file"></li>
<li> <input type="file"></li>
</ul>

そうすることで、5つ以上のアイテム(7〜8アイテム)をアップロードすることができました。私が遭遇する問題の1つは、アップロードの長いセッションで大きなファイルを処理できないことです。

合計で最大2MBの画像のみを処理できます。ただし、画像の合計が2.5 MB程度になると、100%までアップロードが続行されますが、最終的にはエラーが返されます。

役立つと思われることを確認する価値のあるjQueryプラグインはありますか?アップロードが正常に完了するまでセッションを継続する必要があります。私はjavascriptを使用してプロセスをオーバーライドすることしかできず、それ以上は何もできません。

4

1 に答える 1

1

クライアント側から変更できるものではありません。サーバーにアップロード制限が設定されている場合は、そのしきい値を変更する必要があります(インターネットサーバー、Apache、IISにどのように依存しますか?)。

たとえば、PHPを使用している場合は、upload_max_filesizeプロパティPHP.iniを必要な値(たとえば、10Mb)に設定できます。ファイルを使用してサイトごとのベースでそれを行うことができます(プロパティ名の前に追加する.htaccessだけです)。php_

ASP.NETでIISを使用している場合は、構成の下MaxRequestLengthhttpRuntimeセクションで変更できSystem.Webます(バイト単位の値を必要な値に設定します)。

設定した値が何であれ、常に制限があり、それに達したときにクライアントにも通知する必要があります(たとえば、IISは要求を中止するだけです)。これを実現する方法はいくつかありますが、私がより簡単に見つけたのは、アップローダーを内部に配置し、ドキュメントiframeのプロパティを定期的にチェックreadyStateすることです(クロスするために期待するコードをもう少し書く必要があるかもしれません。ブラウザ)。

于 2012-07-21T07:53:00.843 に答える