天天看點

Spring之byte[]傳輸

事出原因

  某些原因,需要在在服務之間傳輸檔案,想到隻有通過Byte數組,或者是Stream傳遞,遂定下兩方法,一個byte,一個inpustream,老樣子,upload(@RequestParam("id")Integer id, (@RequestParam("filename")String filename,(@RequestParam("data") byte[] data),upload(@RequestParam("id")Integer id, (@RequestParam("filename")String filename,(@RequestParam("data") InputStream data),完事,美滋滋測試。

測試問題

  在測試的時候,發現spring的傳遞的時候,無法擷取到byte數組,為空,沒有data字段。在傳遞inputStream時,無法擷取流,傳遞的竟然時RequestWrapper,debug發現body為空,沒有資料。思前想後沒找到問題原因。

解決方法

  經過多方查照,發現在傳遞byte數組時,可以使用@RequestBody,發現竟然可以擷取到位元組,美滋滋。 同樣的方法用在InputStream時竟然發現不行。暫時還沒有找到原因。

建議

  建議大家在傳遞時,可以使用@RequestBody + 位元組的方式傳輸。 若檔案過大,則可以使用檔案伺服器,FastDFS/FTP伺服器都可以。

你的每一個點贊,我都當做喜歡

上一篇: Java環境搭建
下一篇: Java 簡介