アップロードできるファイルのサイズを制限するにはどうすればよいですか? SWFUpload を使用してクライアント側を制限できることはわかっていますが、サーバー側を制限するにはどうすればよいですか?
誰かが 1 GB のファイルをアップロードして割り当てを使い果たすのを防ぐにはどうすればよいですか?
アップロードできるファイルのサイズを制限するにはどうすればよいですか? SWFUpload を使用してクライアント側を制限できることはわかっていますが、サーバー側を制限するにはどうすればよいですか?
誰かが 1 GB のファイルをアップロードして割り当てを使い果たすのを防ぐにはどうすればよいですか?
App Engine 1.5.4 SDKには、BLOBアップロードサイズの制限を指定するオプションが導入されました。
UploadOptionsクラスのmaxUploadSizeBytes
およびmaxUploadSizeBytesPerBlob
を参照してください。
大きすぎるファイルをアップロードすることを禁止することはできません (ただし、これは適切な機能要求になります)。できることは、アップロードされた BLOB のサイズを確認し、大きすぎる場合はすぐに削除することです。
データストア API を呼び出す前に、データを受信するサーレットに以下のコードを挿入します。
// Determine the HTTP method
long maxSize = 1024*1024 * 50; //Limit 50 MB
boolean isPostMethod = request.getMethod().equals("POST");
// Verify the content length
int contentLength = request.getContentLength();
if (isPostMethod && (contentLength < 0 || contentLength > maxSize))
//posted data size is not in acceptable range
else {
// Process Data
}