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