Zip dosyalarının yüklenebileceği bir web servis çağrısı var. Dosyalar daha sonra depolama, unzipping, vb. Için başka bir servise iletilir. Şu an için dosya dosya sisteminde saklanır, daha sonra bir FileSystemResource oluşturulur.Büyük dosyalar RestTemplate ile nasıl iletilir?
Resource zipFile = new FileSystemResource(tempFile.getAbsolutePath());
Zamanım (yönlendirmeden önce gerekli değildir diskteki dosyanın tasarrufu) kurtarmak için bir ByteStreamResource kullanabilirsiniz ama bunun için ben bir bayt dizisi oluşturmak gerekiyor. Büyük dosyalar durumunda "OutOfMemory: java yığın alanı" hatası alıyorum.
ByteArrayResource r = new ByteArrayResource(inputStream.getBytes());
RestTemplate kullanarak OutOfMemory hata almadan dosyaları yönlendirmekle Herhangi çözümler?
Can (Bu örnek Gönderide yerden tepki JSON olduğunu. Ama, bu kolayca döndürme türü sınıfını ... Yukarıda Map.class ayarlı değiştirerek değiştirilebilir varsayar) Giriş akışını diğer servise mi geçiriyorsunuz? Veya giriş akışını bir dosyaya yazmanız ve ardından dosya tanıtıcısını servise iletmeniz gerekir. Ayrıca, bunun Groovy ile nasıl bağlantılı olduğundan emin değil misiniz? –
Sadece giriş akışını geçmek için bir yol bulamadım. Kod groovy (java InputStream bir getBytes yöntemi yok) –
Ahhh, çok Java tarzında yazarken atıldı çünkü Groovy etiketini kullandım ;-) SO bu diğer hizmet sonra ne kabul eder? –