2009-01-06 33 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