GAE の「アップロード成功」ハンドラからファイル コンテンツを取得しようとしています。ファイルは次の URL にアップロードされます。
blobstoreService.createUploadUrl("/onupload", uploadOptions));
だから、/onupload
私は次のようにやっています:
BlobKey myFile = context.getRequestBlobs().get("myFile").get(0);
そして、私は試しました:
InputStream is = new BlobstoreInputStream(myFile);
// .. read the stream
失敗したcom.google.appengine.api.blobstore.BlobstoreInputStream$BlobstoreIOException: BlobstoreInputStream received an invalid blob key: =?ISO-8859-1?Q?AMIfv96J=2DsyIbhm5=5FET?=
と
FileReadChannel ch = fileService.openReadChannel(myFile, false);
失敗した
java.io.IOException
at com.google.appengine.api.files.FileServiceImpl.translateException(FileServiceImpl.java:615)
at com.google.appengine.api.files.FileServiceImpl.makeSyncCall(FileServiceImpl.java:588)
at com.google.appengine.api.files.FileServiceImpl.open(FileServiceImpl.java:521)
at com.google.appengine.api.files.FileServiceImpl.openForRead(FileServiceImpl.java:481)
at com.google.appengine.api.files.FileServiceImpl.openForRead(FileServiceImpl.java:473)
at com.google.appengine.api.files.FileServiceImpl.openReadChannel(FileServiceImpl.java:197)
私が間違っていることについての考えはありますか?アップロードハンドラーでファイルのコンテンツを読み取ることはまったく可能ですか?
blobstore fs (GS ではない) では問題なく動作していたことに注意してください。