我正在 liferay 6.1.1 中开发一项功能,我需要将视频上传到 vimeo 帐户。
我已经浏览了 vimeo 的网站 ( http://developer.vimeo.com/ ) 来获取它的 API。但是没有任何API可以下载和使用。谁能指导我如何使用此 API 在任何 vimeos 的帐户上上传视频?
如Vimeo API 页面上所述,您需要向其服务器发送一系列 HTTP 请求。上传文件最简单的方法是使用 Apache 的 HttpClient 库。
在第 3 步中,您实际上进行了上传,您可以在此页面上看到它是如何完成的。它基本上归结为:
注意:此代码只是一个一般概念,未经测试,很可能无法编译。
/**
* 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 页面上解释的流式传输方法。