首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过api调用c#将缩略图上传到vimeo

通过api调用c#将缩略图上传到vimeo
EN

Stack Overflow用户
提问于 2015-12-28 18:52:23
回答 2查看 876关注 0票数 1

我试图设置一个通过vimeo api完成的视频上传的缩略图。我正在为c# windows服务开发这个程序,请注意,这里没有官方库。目前,我使用的是库。我能够成功地上传视频通过以下vimeo文档,然而,当我试图上传一个图像作为一个视频的缩略图,我得到一个问题。根据vimeo Pic胞上传文档,在步骤2中,我需要通过一个PUT请求上传我的缩略图。它说,我需要做以下几件事:

代码语言:javascript
运行
复制
PUT https://i.cloud.vimeo.com/video/518016424
.... binary data of your file in the body ....

我不知道该怎么做。我可以获得图像的二进制数据

代码语言:javascript
运行
复制
byte[] byte_array_of_image = File.ReadAllBytes(file);

但是,如何将这些数据发送到api并获得响应(不管是否使用该库)?如果有帮助的话,这是我的代码,上传到目前为止的视频和缩略图。

代码语言:javascript
运行
复制
var vc = VimeoClient.ReAuthorize(
            accessToken: ConfigurationManager.AppSettings["ACCESS_TOKEN"],
            cid: ConfigurationManager.AppSettings["API_KEY"],
            secret: ConfigurationManager.AppSettings["API_SECRET"]
            );
            string temporary_video_dir = ConfigurationManager.AppSettings["TEMP_VIDEO_URL"];
            Dictionary<string,string> automatic_pull_parameters = new Dictionary<string, string>();
            automatic_pull_parameters.Add("type", "pull");
            automatic_pull_parameters.Add("link", temporary_video_dir);
var video_upload_request = vc.Request("/me/videos", automatic_pull_parameters, "POST");
                string uploaded_URI = video_upload_request["uri"].ToString();
                string video_id = uploaded_URI.Split('/')[2];
                Library.WriteErrorLog("Succesfully uploaded Video in test folder. Returned Vimeo ID for video: "+ video_id);
 var picture_resource_request = vc.Request("/videos/" + video_id + "/pictures", null, "POST");
                string picture_resource_link = picture_resource_request["uri"].ToString();
                //Library.WriteErrorLog("uri: " + picture_resource_link);

                byte[] binary_image_data = File.ReadAllBytes("http://testclient.xitech.com.au/Videos/Images/Closing_2051.jpg");
                string thumbnail_upload_link = picture_resource_link.Split('/')[4];

请帮帮我!被困了几个小时了。

EN

Stack Overflow用户

发布于 2020-08-29 15:34:39

参考资料:- Vimeo C# -上传视频

答案没有被推翻,但在我的情况下可以很好地试用。见以下代码:-

代码语言:javascript
运行
复制
     public ActionResult UploadChapterVideoVimeo(HttpPostedFileBase file, string productID = "")
{
    if (file != null){      
                      var authCheck = Task.Run(async () => await vimeoClient.GetAccountInformationAsync()).Result;
                if (authCheck.Name != null)
                {
                    
                    BinaryContent binaryContent = new BinaryContent(file.InputStream, file.ContentType);
                    int chunkSize = 0;
                    int contenetLength = file.ContentLength;
                    int temp1 = contenetLength / 1024;
                    if (temp1 > 1)
                    {
                        chunkSize = temp1 / 1024;
                        chunkSize = chunkSize * 1048576;
                    }
                    else
                    { chunkSize = chunkSize * 1048576; }
                    binaryContent.OriginalFileName = file.FileName;
                    var d = Task.Run(async () => await vimeoClient.UploadEntireFileAsync(binaryContent, chunkSize, null)).Result;
                    vmodel.chapter_vimeo_url = "VIMEO-" + d.ClipUri;
                }

                return RedirectToAction("ProductBuilder", "Products", new { productId = EncryptedProductID, message = "Successfully Uploaded video", type = 1 });
            }
        }
        catch (Exception exc)
        {
            return RedirectToAction("ProductBuilder", "Products", new { productId = EncryptedProductID, message = "Failed to Uploaded video " + exc.Message, type = 0 });
        }
    }
    return null;        }
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34499033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档