2011-07-20 37 views
0

我有我使用的文件發送回我的服務器的Java小程序 - 在服務器端我想收到此PHP頁面上。收到從Java DataOutputStream聯合輸出一個PHP頁面

下面是這是做的發送,對事情我已經檢查了全局數組PHP端的Java代碼,我必須通過URL傳遞的數據,而不是文件數據。我真的在這個搜索和劃傷,所以任何幫助表示讚賞。

String strURL = sendToURL + "?ACTION=POST&LEN=" + imgBytes.length + "&Fname=picture.png"; 
    try{ 
     URL urlServlet = new URL(strURL); 
     URLConnection sCon = urlServlet.openConnection(); 
     sCon.setDoInput(true); 
     sCon.setDoOutput(true); 
     if (sCon.getAllowUserInteraction()) { 
      sCon.setAllowUserInteraction(true); 
     } 
     sCon.setUseCaches(false); 
     sCon.setDefaultUseCaches(false); 
     sCon.setRequestProperty("Content-Type", "text/html"); 
     sCon.setRequestProperty("Connection", "Keep-Alive"); 
     sCon.setConnectTimeout(transferTimeout); 
     sCon.setReadTimeout(transferTimeout); 
     DataOutputStream out = new DataOutputStream(sCon.getOutputStream()); 

     int index = 0; 
     size = 1024; 
     do { 
      if (index + size > imgBytes.length) { 
       size = imgBytes.length - index; 
      } 
      out.write(imgBytes, index, size); 
      index += size; 
     } while (index < imgBytes.length); 

     out.write(imgBytes); 
     out.flush(); 
     out.close(); 

解決 - 正如經常發生對抗的天,僅僅幾分鐘後,一個解決方案的禮物後一個職位的問題。

我得到了有關使用SOAP,我用捲曲的前一次傳輸的XML數據想起了評論後思考。幾個搜索後,我遇到了一個更簡單,非常優雅的解決方案。

http://www.lornajane.net/posts/2008/Accessing-Incoming-PUT-Data-from-PHP

基本上就可以通過使用

file_get_contents("php://input") 

訪問PHP中的PUT數據,所以現在的作品赫然

+0

我不認爲PHP是能夠做你想做的 – Dukeatcoding

+0

這就是我擔心 - 我正在考慮是以某種方式對文件進行編碼,然後將其作爲URL的一部分。不幸的是,我對java很陌生,所以我不確定如何完成這一任務。 – l0ft13

回答

0

我用了很多次的SOAP消息來獲取數據從PHP來可以正常工作的Java

所以使用PHP作爲Web服務並通過SOAP進行通信

設置一個WSDL文件

生成Java存根和骨架 http://download.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html

加載WSDL到一個PHP skript http://www.php.net/manual/de/book.soap.php

$soapClient = new SoapClient("blahblah.wsdl"); 

,做你的邏輯在PHP

然後使用Java Stubs調用服務器並傳輸數據

相關問題