2013-10-08 117 views
0

我正在Liferay 6.1.1中開發一項功能,我需要將視頻上傳到vimeo帳戶。使用Java將視頻上傳到vimeo帳戶

我已經通過Vimeo的網站(http://developer.vimeo.com/)獲取其API。但沒有得到任何API來下載和使用。任何人都可以指導我如何使用此API在任何vimeos帳戶上上傳視頻?

+0

檢查這個URL:http://developer.vimeo.com/apis/advanced/upload – nik

+0

@Nikhil你是對的,但要使用這個API方法,我們將需要它在我們的環境中的API(Web服務客戶端)。如何得到這個?我沒有得到任何選擇,以獲得它的API。 – Java

+0

這是其餘的api,因此我不認爲vimeo在java中提供了一個客戶端庫。你可以用java寫一個客戶類。 – nik

回答

1

Vimeo API page所述,您需要向其服務器發送一系列HTTP請求。上傳文件的最簡單方法是使用Apache的HttpClient庫。

在步驟3中,您確實需要上傳,以及如何完成您可以see on this page。它基本歸結爲:

注意:此代碼只是一個普遍的想法,它未經測試,很可能不會編譯。

/** 
* Uploads a file to Vimeo server. 
* @returns null if successful, error line otherwise. 
*/ 
public String uploadVideoFile(String vimeoUrl, String ticketId, File file) throws Exception 
{ 
    HttpClient client = new DefaultHttpClient(); 
    HttpPost postRequest = new HttpPost(vimeoUrl); 
    try { 
     MultipartEntity multiPartEntity = new MultipartEntity(); 
     multiPartEntity.addPart("ticket_id", new StringBody(ticketId)); 
     multiPartEntity.addPart("chunk_id", new StringBody("0")); 

     FileBody fileBody = new FileBody(file, "application/octect-stream"); 
     multiPartEntity.addPart("file_data", fileBody); 

     postRequest.setEntity(multiPartEntity); 
     HttpResponse response = client.execute(postRequest); 

     if (response != null && response.getStatusLine().getStatusCode() != 200) { 
      return response.getStatusLine(); 
     } 
    } 
    catch (Exception ex) { 
     ex.printStackTrace(); 
    } 

    return null; 
} 

這樣稱呼它:

String status = uploadVideoFile("http://1.2.3.4/upload_multi", 
      ticket, file); 

您也可以嘗試使用流式傳輸法作爲Vimeo的頁的說明。

相關問題