2016-10-21 4 views
2

SpringベースのHTTPファイルアップロードサービスでファイルサイズの検証に関する基本的な質問がありました。私は、ファイルアップロードを実行するためにSpringのorg.springframework.web.multipart.MultipartFileを使用しています。Spring HTTP File Upload:ファイルサイズの妥当性確認

私の質問はmultipartFile.getSize()メソッド全体のアップロード完了後の返却サイズですか?はいの場合、サイズに基づいてファイルを制限するための正しい先見のアプローチは何ですか?

注:私は、エンドユーザーが1ギガバイトのファイルをアップロードし、 時間のことわざ後、エラーメッセージを取得する必要はありませんので、私はこの質問を理由は、「申し訳ありませんが、許容される最大ファイルサイズは2 KBです。 "

答えて

0

MultipartFileサーバー側のファイルサイズのみを確認してください。アップロード時にファイルサイズを確認する場合は、クライアント側javascriptまたはjqueryを使用する必要があります。 javascriptまたはjqueryは、アップロード時にファイル側を確認するために使用できます。

$('#myFile').bind('change', function() { 

    //this.files[0].size gets the size of your file. 
    alert(this.files[0].size); 

}); 
0

私はそれがユーザーのアップロードする前にサイズを確認してくださいフロントエンドプログラマ(ジャバスクリプト/ H5)であるべきで、人がそうだと思います。次に、サーバー側のオペレーターはhttp要求に対して "maxRequestLength"または "upload_max_filesize"のようないくつかのプロパティーを設定する必要があります。

+0

REST APIの場合はどうなりますか? –

1

アップロード全体が完了した後でなければ、multipartFile.getSize()メソッドが返すのは最初の質問ですか?

- あなたは、アップロード全体の完了前にmultipartFile.getSize()を取得します。

application-context.xmlファイルでCommonsMultipartResolverを使用できます。

<bean id="multipartResolver" 
     class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
     <property name="maxUploadSize" value="50000000" /> 
</bean> 
+0

これは、クライアントからサーバーへのファイル転送の前にサイズを検証しますか? –

+0

いいえ。クライアントからサーバーへのファイル転送前にサイズを検証する場合は、jquery/javascript検証を使用してください。 –