Börtü Böcük
Kilopat
- Katılım
- 9 Mart 2017
- Mesajlar
- 1.597
- Çözümler
- 9
Sorunu videoda anlattım. İzleyip yardımcı olursanız sevinirim.
Videoyu yeniledim.
Videoyu yeniledim.
Son düzenleme:
Çok haklısın tahmin etmiştim. Bana dinamik gösterim lazım. Fakat nasıl yapacağımı bilmiyorum. İnternettede bunun hakkında bir şeyler bulamadım.Dosyayi yukledigi klasor ile, server'in calistigi context ayni degil.
maven clean install yapip yeniden dene, ff i orada goreceksin.
Sen her maven build yaptiginda, target altinda kodlarin executable jar ile kaplanir. Statik kaynaklar orada yer alir.
Sen statik altinda bulunan kisma dinamik sekilde dosya yukleyip gormek istiyorsun, calismamasinin sebebi bu. Bu mimariyle upload calismaz, cunku yeni bir sey yuklediginde yine calismayacak. Dinamik gosterimi icin farkli seyler yapman gerekiyor.
Çok haklısın tahmin etmiştim. Bana dinamik gösterim lazım. Fakat nasıl yapacağımı bilmiyorum. İnternettede bunun hakkında bir şeyler bulamadım.
@GetMapping(value = "/api/image/{image}", produces = MediaType.IMAGE_JPEG_VALUE)
public ResponseEntity<InputStreamResource> getImage(@PathVariable String image, @RequestParam String type, HttpServletResponse response) {
try {
File file = new File(imageFolder + File.separator + image + "." + type );
InputStream targetStream = new FileInputStream(file);
return ResponseEntity
.ok()
.contentType(MediaType.IMAGE_JPEG)
.body(new InputStreamResource(targetStream));
} catch (Throwable t) {
response.setStatus(HttpStatus.NOT_FOUND.value());
return null;
}
}
Teşekkürler.Dinamik kaynaklar icin tomcat uygun degil, onun onune kuracagin nginx ya da apache kullanarak image serve edersin. Illa ki spring uygulamadan yapacagim diyorsan da image controller kullanip yapabilirsin.
Java:@GetMapping(value = "/api/image/{image}", produces = MediaType.IMAGE_JPEG_VALUE) public ResponseEntity<InputStreamResource> getImage(@PathVariable String image, @RequestParam String type, HttpServletResponse response) { try { File file = new File(imageFolder + File.separator + image + "." + type ); InputStream targetStream = new FileInputStream(file); return ResponseEntity .ok() .contentType(MediaType.IMAGE_JPEG) .body(new InputStreamResource(targetStream)); } catch (Throwable t) { response.setStatus(HttpStatus.NOT_FOUND.value()); return null; } }
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.