首页 文章

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

提问于
浏览
0

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

我已经通过vimeo的网站(http://developer.vimeo.com/)获取其API . 但是没有_2383174的账号?

1 回答

  • 1

    Vimeo API page中所述,您需要向其服务器发送一系列HTTP请求 . 上传文件的最简单方法是使用Apache的HttpClient库 .

    在第3步中,您实际上是在进行上传,以及如何完成上传,您可以see on this page . 它基本归结为:

    NOTE: 这段代码只是一个大概,它是未经测试的,很可能无法编译 .

    /**
     * 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页面上所述的流式传输方法 .

相关问题