私はWebアプリケーションで作業中で、GAE/J blobstoreチュートリアルを使用していますhttp://code.google.com/appengine/docs/java/blobstore/overview.htmlファイルをblobstoreにアップロードできました。GAE/J - Blobstore - ファイルがアップロードされていないかどうかを判断する方法
私の問題は、私の "アップロードファイル"オプションがフォーム上でOPTIONALです。したがって、ユーザーは自分のフォームにファイルをアップロードするかどうかを選択することができます。このフィールドはオプションなので、このフィールドの前処理フォームの検証はありませんが、ユーザーが任意のものを選択したかどうかを判断することができないため、フォームを送信すると "0kbファイルの空白ドキュメントがblobstoreにアップロードされます"サーブレット内にファイルが存在しない。
私はApacheファイルアップロード(ServletFileUpload..etc)を試みましたが、毎回nullを返すようにしました。
サーブレット内にアップロードするファイルがユーザーによって選択されているかどうかを確認するにはどうすればよいですか?
Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
if (blobs != null && blobs.size() > 0) {
BlobKey blobkey = blobs.get("myFile");
blobkeyStr = blobkey.getKeyString();
}
素晴らしいです、ありがとうございます..何とか私のためにblobInfo.getSizeは> 0を返すので、blobInfo.getFilename()によってファイル名を取得してしまいました。ファイルがアップロードされていない場合、長さは常にゼロです。 if(fileName.length()<= 0){blobstoreService.delete(blobkey); } – Jagdish