2009-01-06 103 views
1

我希望能够从同一网站上托管的Java applet将二进制数据流发送到一个asp.net网站。如何从Java applet发送流到ASP .NET网站?

我发现this link谈论这个问题,但我不确定如何实际接收网站上的数据。

我将发送的流可能大小为1mb-20mb,我需要发送其他信息,例如文件名。

我怀疑我会实现一个IHttpHandler来处理POST,但我不确定如何处理这个。

任何想法的人?

谢谢。

回答

0

好吧,如果你想要做一个基于标准的方式,你可以模仿文件上传到网站:

http://www.jguru.com/faq/view.jsp?EID=160

而且在ASP.NET的一面,你只需访问该文件通过HttpRequest上的Files属性。

但是,这将最终对内容进行文本编码,这会增加您上传的内容(约33%)。

我认为一个更好的主意是公开一个Web服务/方法,它将接受使用MTOM的内容(我相信Java有一个库)。

+0

感谢casperOne的回应,但我的问题是我如何在网站上实际“接受内容”? – Carl 2009-01-06 21:04:37

1

卡尔,回答到casperOne您的评论,添加一个新的Web服务到您的ASP.NET站点,做这样的事情...

using System; 
using System.IO; 
using System.Web.Services; 

[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
public class Service : System.Web.Services.WebService 
{ 
    [WebMethod] 
    public bool RecieveBytes(byte[] data) 
    { 
     try 
     { 
      File.WriteAllBytes("~/uploads/uploadedFile.dat", data); 
     } 
     catch (Exception ex) 
     { 
      return false; 
     } 
     return true; 
    } 
} 

至于从Java提交的数据。查看关于如何创建WebService客户端的Java框架的文档。

+0

谢谢Greg。我会研究一下。 – Carl 2009-01-29 12:57:42