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服務器都可以。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM