使用Java将视频上传到vimeo帐户

时间:2013-10-08 10:34:22

标签: java api upload liferay-6 vimeo

我正在开发liferay 6.1.1中的一项功能,我需要将视频上传到vimeo帐户。

我已经浏览了vimeo的网站(http://developer.vimeo.com/)以获取其API。但没有得到任何API下载和使用。有人可以指导我如何使用此API在任何vimeos帐户上传视频吗?

1 个答案:

答案 0 :(得分: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页面上所述的流式传输方法。