2012-04-24 85 views
0

我想使用Java將pdf發送到客戶端webservice url。如何才能做到這一點?如何使用Java將pdf發送到遠程服務器?

+0

你使用什麼技術?純servlet?軸? JAX-WS? ... – 2012-04-24 16:00:27

+0

這非常依賴於Web服務的規範。 – 2012-04-24 16:04:14

+2

'client webservice url'甚至意味着什麼,特別是考慮到你想要推送到'遠程服務器'?懶惰的問題不會給你任何好的答案。 – 2012-04-24 16:04:30

回答

1

幾個簡單的步驟。我將在括號內添加一些用於Google搜索的術語。

  1. 打開pdf文件的FileInputStream。 (java文件輸入流)
  2. 告訴服務器你將發送一個文件。
  3. 使用byte []緩衝區並從輸入流中填充並將其寫入服務器。 (java讀取輸入流緩衝區)。您將不得不告訴服務器即將到來的緩衝區的大小。

以下是一些示例代碼。現在

InputStream in = new FileInputStream(file); 
OuputStream os = socket.getOutputStream(); 
DataOutputStream dos = new DataOutputStream(os); 
int n; 
byte[] b = new byte[1024 * 16]; 
while ((n = in.read(b)) != -1) 
{ 
    dos.writeByte(1); // tell the server a buffer is coming 
    dos.writeInt(n); // tell it the how big the buffer is 
    dos.write(b, 0, n); // write the buffer 
} 
dos.writeByte(0); // tell the server no more buffers are coming. 
dos.flush(); 

,它是由你來寫它的服務器部分。

+0

嗯,我認爲這不是你的問題的答案...我想你想要別的東西...但我不知道 – 2012-04-24 16:22:01

+0

URL U =新的網址(URL)。 的URLConnection UC = u.openConnection(); uc.setDoOutput(真); uc.setDoInput(真); uc.setAllowUserInteraction(假) ; DataOutputStream dstream = new DataOutputStream(uc.getOutputStream()); – Sapphire 2012-04-24 16:24:06

+0

以不同的方式定義DataOutputStream對象,然後寫入它,這會起作用嗎? – Sapphire 2012-04-24 16:25:06

相關問題