我有一個web服務調用,通過它可以上傳zip文件。這些文件然後被轉發到另一個服務進行存儲,解壓縮等。 現在,文件存儲在文件系統中,然後構建FileSystemResource。如何使用RestTemplate轉發大文件?
Resource zipFile = new FileSystemResource(tempFile.getAbsolutePath());
我可以用一個ByteStreamResource爲了節省時間(磁盤上的文件的保存轉發之前沒有必要),但我需要建立一個字節數組。在大文件的情況下,我會得到一個「OutOfMemory:java堆空間」錯誤。
ByteArrayResource r = new ByteArrayResource(inputStream.getBytes());
的任何解決方案,以轉發文件沒有得到使用RestTemplate的內存不足的錯誤?
燦你是否將輸入流傳遞給其他服務?或者您必須將輸入流寫入文件,然後將文件句柄傳遞給服務。另外,不確定這與Groovy有何關係? –
我沒有找到任何方法來傳遞輸入流。我使用Groovy標籤,因爲代碼是在groovy中(java InputStream沒有getBytes方法) –
啊,我是在用Java風格編寫時拋出的;-)那麼這個其他服務接受了什麼呢? –