【发布时间】:2016-04-02 15:04:36
【问题描述】:
我正在尝试为通过 vimeo api 完成的拉视频上传设置缩略图。我正在为 c# windows 服务开发这个,请注意没有官方库。目前我使用this 库。我可以按照 vimeo 文档成功上传视频,但是,当我尝试将图像上传为视频的缩略图时,我遇到了问题。根据vimeo picutre upload documentation,在第 2 步中,我需要通过 PUT 请求上传我的缩略图。它说,我需要执行以下操作:
PUT https://i.cloud.vimeo.com/video/518016424
.... binary data of your file in the body ....
我不知道该怎么做。我可以使用
获取图像的二进制数据byte[] byte_array_of_image = File.ReadAllBytes(file);
但是我怎样才能将这些数据发送到 api 并获得响应(使用或不使用库)?如果有帮助,这是我上传到目前为止完成的视频和缩略图的代码。
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];
请帮忙!现在卡了几个小时。
【问题讨论】:
标签: c# image file-upload vimeo vimeo-api