0

私はいくつかの画像のbase64表現(それぞれ約1MB)を保持しているページを持っています。今、このデータをajax経由でサーバーに投稿しています(contentTypeはデフォルトです-urlエンコードされています)。送信する画像が 1 つまたは 2 つある場合、これは正常に機能しますが、2 MB を超える要求データがある場合、サーバーはそれを受け入れず、要求パラメーターには何もないため、Tomcat の maxPostSize を増やしました、そしてより多くのデータも受け入れ始めましたが、特に画像がたくさんある場合、これがメモリの問題を引き起こすかどうか少し心配です?

また、contentType を multipart/formdata に変更しようとしましたが、「マルチパート境界が見つからなかったため、リクエストが拒否されたと言って」エラーが発生しました。

編集

もっと詳しく説明する必要があると思いますが、実際の要件は次のようなものです-ユーザーがアップロードリンクをクリックすると、ファイルをアップロードできる必要があり、ページ上の画像のサムネイルを表示できる必要があります(すべて更新せずにページ)。これについては、次のアプローチを試みました。

  1. ファイル リーダーを使用してファイルを読み取り、サムネイルを表示してから明示的にアップロードをトリガーすると、ユーザーが [保存] をクリックすると、シンプルですがクロス ブラウザーではなく、IE では機能しません。
  2. ユーザーがファイルをアップロードしてサーバーから画像の base64 バージョンを送信できるようにし、ユーザーが保存をクリックすると、base64 文字列をサーバーに送り返し、それをバイト配列に変換してデータベースに保存します。

今、すべてのレコードがデフォルトで編集可能な画面があるので、保存をクリックすると、すべてのレコードの画像文字列がサーバーに送信されますが、もちろんメモリの問題が発生します。

「3」。まだ実装されていませんが、最初に他のフィールド (画像以外のフィールド) を保存してから、画像を 1 つずつ明示的に保存することを考えています (問題ないように見えますが、要求の数は多くなります)。

誰かが 4 番目のアプローチを提案するのを待っています。十分に説明したことを願っています

4

1 に答える 1

-3

免責事項...このようなことは何もしていませんが...

各画像を個別に送信してみませんか? :)

于 2013-01-10T11:33:30.767 に答える