Spring Data と GridFs Template を使用して Mongo DB から画像を取得しました
そのため、取得した入力ストリームをユーザーに返す方法がわかりません。
彼らが春休みの呼び出し
http://host.com/apple
として 要求したとしましょう。これで、私のアプリケーションは、mongodb データベースからリンゴのイメージを取得する名前を使用してリクエストを処理します。どこにも保存せずに、ブラウザに画像を表示する画像として応答を表示したいと思います。これをどのくらい正確に実装する必要がありますか?apple
http://host.com/apple
Rest Call で画像リクエストを処理するためのコード リポジトリを教えてください。
Controller Code
@RestController
public class GreetingController {
@RequestMapping("/image")
public GridFSDBFile imageReponse() {
App.getImage();
return App.getImageResponse();
}
}
この関数は、mongodb から画像を取得します
public static GridFSDBFile getImageResponse() {
try {
ApplicationContext context = new FileSystemXmlApplicationContext(
"file:C:\\workspace\\gs-rest-service-complete\\spring-config.xml");
FileStorageDao fileStorageDao = (FileStorageDao) context
.getBean("fileStorageDao");
GridFSDBFile retrive = fileStorageDao.retrive("audi.jpg");
return retrive;
} catch (Exception e) {
System.out.println("IOException:-" + e.getMessage());
} finally {
System.out.println("Clean up herer:-");
}
return null;
}
エラー
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Sep 04 17:21:05 IST 2015
There was an unexpected error (type=Internal Server Error, status=500).
Could not write content: No serializer found for class com.mongodb.gridfs.GridFSDBFile$MyInputStream and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: com.mongodb.gridfs.GridFSDBFile["inputStream"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class com.mongodb.gridfs.GridFSDBFile$MyInputStream and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: com.mongodb.gridfs.GridFSDBFile["inputStream"])