私はこのようなHTMLフォームを持っています、
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit"value="upload"/>
</form>
以下のコードで GAE のファイル サービスを使用すると、Google アプリ エンジンにデータが保存されます。
FileService fileService = FileServiceFactory.getFileService();
AppEngineFile file = fileService.createNewBlobFile(mime, fileName);
boolean lock = true;
byte[] b1 = new byte[BUFFER_SIZE];
int readBytes1;
FileWriteChannel writeChannel = fileService.openWriteChannel(file, lock);
while ((readBytes1 = is1.read(b1)) != -1) {
writeChannel.write(ByteBuffer.wrap(b1, 0, readBytes1));
}
writeChannel.closeFinally();
このファイル サービスは、アップロードされたファイルを Blob 値として Google App Engine に保存しますか。
- ファイル サービスを使用する前に
createUploadUrl()
、ファイルを BLOB 値として格納する HTML 形式でメソッドを直接試してみました。Google アプリ エンジンの「View Blob」を使用して BLOB も表示できます。 - このファイルを使用した後、オプション「View Blob」ではなく、ファイルのキーのみが表示されます。なぜこれが起こるのか誰でも言うことができます。