App Engine Blobstore - 我该怎么做才能限制用户可以上传的文件大小?

时间:2010-08-05 19:49:29

标签: java google-app-engine blobstore

如何限制可上传文件的大小?我知道我可以用SWFUpload限制它的客户端,但是如何限制它的服务器端呢?

如何防止有人上传1GB文件并占用我的配额?

3 个答案:

答案 0 :(得分:7)

App Engine 1.5.4 SDK引入了一个选项来指定blob上传大小的限制。

请参阅UploadOptions课程的maxUploadSizeBytesmaxUploadSizeBytesPerBlob

答案 1 :(得分:2)

您不能禁止人们上传过大的文件(尽管这样做会很好feature request)。您可以做的是检查上传的blob的大小,如果它太大,立即将其删除。

答案 2 :(得分:-1)

在调用数据存储区API之前,将下面的代码放在要接收数据的servlet中。

// 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
}