知見のある皆様へ

昨日も投稿しましたが、誤解を与える質問かなと思いましたので再度投稿させて頂きます。

さて 現在 某顧客から申込受付システムの提案依頼・相談されております。
(業務ノウハウが弊社にあり、その点を評価されての提案依頼です)

顧客からは
・サービス申込には本人確認書(免許書・マイカード等)が必要になる。
 よって 本人確認証明書を写した画像ファイルを申込受付サイトから
 アップロードさせたい。
・本人確認書は多くの場合スマホで撮影される事を想定しているが、
 昨今 スマホのカメラ機能がアップし画像ファイルの容量が大きく
 なる傾向がある。
 一方 システムを稼動させるサーバのHDDの容量を有効的に
 つかいたい。
 その為アップロードされた画像ファイルを圧縮してHDD保存しておきたい。
 (圧縮ツール使い前日申込分を手動で圧縮させる等は嫌な模様です)

 上記要望が出ております。
   ※個人的には画像ファイルを圧縮しても、劇的にファイル容量が小さくなる事はないと
    思いますが。。。

要望を満たす為に、
1.申込WEB画面でファイルアップロード時に自動圧縮 サーバサイドの送信。
  (申込WEB画面をHTML+Javascript Or HTML+PHP 等の組み合わせで開発?)

2.送付されてきた画像ファイルをサーバサイドで圧縮
  (Javaを使って画像ファイルを圧縮するPGを作成。
   作成したPGをタイムスケジュールとかに登録して自動稼動)

上記二通りが思いつきます。

1は実現は難しいのかなと推測しております。
2に関しては、ネットで圧縮PGとしてImageIOを使った参考例として下記を見つけました。

public static byte[] resize(final byte[] src, final double scale) throws IOException
{
    try (ByteArrayInputStream is = new ByteArrayInputStream(src);
        ByteArrayOutputStream os = new ByteArrayOutputStream()) {
            BufferedImage srcImage = ImageIO.read(is);
            BufferedImage destImage = resizeImage(srcImage, scale);

            // 保存品質は「75」になる
            ImageIO.write(destImage, "jpeg", os);
            return os.toByteArray();
        }
}

保存品質を指定できない方法との事でしたが、本人確認書の為ですから、
それほど問題にはならないと考えております。

【ご質問】
前書きが長くなりましたが、
・1について良い方法があればご教授下さい。
・2について良いPGがあればご教授下さい。
・1・2以外の方法があればご教授下さい。

以上宜しくお願いします。