【问题标题】:how can i display progress bar for dailymotion cloud uploading如何显示dailymotion云上传的进度条
【发布时间】:2013-10-15 01:09:16
【问题描述】:

我在我的 Android 应用程序中使用 Dailymotion 云将视频上传到服务器。 我想在上传时显示进度条,但我不知道如何逐字节获取值来更新进度条。

这是dailymotion云api链接Dailymotion cloud api link

在互联网上搜索时,我发现了这个progress bar in java,但我不知道如何将这种方法实现到 dailymotion api 中。

我正在使用异步任务来显示进度条 这是用于上传的android代码

      try
        {
            CloudKey cloud = new CloudKey(user_id, api_key);
            File f = new File(selectedVideoPath);
            String media_id = cloud.mediaCreate(f);
            System.out.println(media_id);
            Log.d("Testing", "media_id is"+media_id);
        }

这里是 Dailymotion API 的 Cloud.class mediacreate(),我想在其中显示进度条.. 任何想法

public String mediaCreate(File f) throws Exception
{
    return this.mediaCreate(f, null, null);
}

public String mediaCreate(File f, DCArray assets_names, DCObject meta) throws Exception
{
    String upload_url = this.fileUpload();

    PostMethod filePost = null;
    int status;
    try
    {
        filePost = new PostMethod(upload_url);

        Part[] parts = {
            new FilePart("file", f)
        };

        filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));

        HttpClient client = new HttpClient();
        client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
         status = client.executeMethod(filePost);

        if (status == HttpStatus.SC_OK)
        {
            ObjectMapper mapper = new ObjectMapper();
            DCObject json_response = DCObject.create(mapper.readValue(filePost.getResponseBodyAsString(), Map.class));
            return this.mediaCreate(json_response.pull("url"), assets_names, meta);
        }
        else
        {
            throw new DCException("Upload failed.");
        }
    }
    catch (Exception e)
    {
        throw new DCException("Upload failed: " + e.getMessage());
    }
    finally
    {
        if (filePost != null)
        {
            filePost.releaseConnection();
        }
    }
}

【问题讨论】:

    标签: java android httpclient android-progressbar


    【解决方案1】:

    我找不到任何 api 支持使用您提到的 DailyMotion 类执行此操作。

    如果您可以编辑该库的源代码,那么您可以尝试扩展 MultipartRequestEntity 并添加对进度回调的支持,然后只需在 mediaCreate 方法的 DailyMotion 代码中插入该新类:

    filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));
    

    .. 用新的替换 MultipartRequestEntity,例如。 ExtendedMultipartRequestEntity。

    File Upload with Java (with progress bar) 上查看 Tuler 和其他人的回答,了解如何操作。

    通过回调获取更新后,您可以连接进度条。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-24
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 2011-09-14
      相关资源
      最近更新 更多