繁体   English   中英

使用Spring在两台服务器之间发送大文件的最简单方法?

[英]Simplest way of sending a large file between two servers with Spring?

我正在构建两个相互交互的应用程序。 一种是在Windows或Unix机器上运行的Web服务,该服务具有可用于对文件执行各种操作的方法。 另一个是Web服务器,为用户提供与服务交互的界面。 一个要求是能够上传和下载大于100MB的文件(但也可以是任何大小)。 我一直试图通过将文件的字节放入SOAP请求中来使其工作,就像我使用所有其他服务一样,但是对于较大的文件,我始终会遇到OutOfMemory错误。 我已经尝试使用启用了MTOM的Axiom和JAXB尝试流传输字节,但是在Spring MTOM示例( 尤其是这一部分 )看来,您似乎必须深入一些讨厌的代码才能使其正常工作。 使用Spring在两个服务器之间发送大文件是否有更明显,更简单的选择?

作为附带的问题,是否有一种简便的方法可以将用JAXB创建的文件上传请求对象发送到不必编写上面MTOM示例中那么多代码的地方? 像这样简单:

StoreFileRequest request = new StoreFileRequest();
request.setDestination(destination);
request.setFileData(dataHandler);
getWebServiceTemplate().marshalSendAndReceive(request)

感谢您的任何想法!

使用apache fileupload甚至Spring网站链接到它

<form method="POST" enctype="multipart/form-data" action="fup.cgi">
  File to upload: <input type="file" name="upfile"><br/>
  Notes about the file: <input type="text" name="note"><br/>
  <br/>
  <input type="submit" value="Press"> to upload the file!
</form>

注意:每个浏览器都有自己的最大大小:请看下面的第一个链接。

http://www.motobit.com/help/scptutl/pa98.htm

http://static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch16s08.html

http://commons.apache.org/proper/commons-fileupload/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM