C# 在尝试使用每日运动API上传视频时,我遇到了这个错误;请求被中止:请求被取消;
我正在使用daily motion API从我的应用程序上载视频,但是当尝试上载超过2MB大小的视频时,我收到了以下错误:“请求被中止:请求被取消”。这行代码调用了此错误C# 在尝试使用每日运动API上传视频时,我遇到了这个错误;请求被中止:请求被取消;,c#,asp.net-mvc,video,dailymotion-api,C#,Asp.net Mvc,Video,Dailymotion Api,我正在使用daily motion API从我的应用程序上载视频,但是当尝试上载超过2MB大小的视频时,我收到了以下错误:“请求被中止:请求被取消”。这行代码调用了此错误var responseBytes=client.UploadFile(uploadUrl,fileToUpload) 这是我用来上传视频的代码 public static void Main(MyVideo video) { var accessToken = GetAccessToken(); Auth
var responseBytes=client.UploadFile(uploadUrl,fileToUpload)代码>
这是我用来上传视频的代码
public static void Main(MyVideo video)
{
var accessToken = GetAccessToken();
Authorize(accessToken);
var fileToUpload = video.Path;
var uploadUrl = GetFileUploadUrl(accessToken);
var response = GetFileUploadResponse(fileToUpload, accessToken, uploadUrl);
var uploadedResponse = PublishVideo(response, accessToken);
}
public class UploadResponse
{
public string format { get; set; }
public string acodec { get; set; }
public string vcodec { get; set; }
public int duration { get; set; }
public int bitrate { get; set; }
public string dimension { get; set; }
public string name { get; set; }
public int size { get; set; }
public string url { get; set; }
public string hash { get; set; }
public string seal { get; set; }
public override string ToString()
{
var flags = System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.FlattenHierarchy;
System.Reflection.PropertyInfo[] infos = this.GetType().GetProperties(flags);
StringBuilder sb = new StringBuilder();
string typeName = this.GetType().Name;
sb.AppendLine(typeName);
sb.AppendLine(string.Empty.PadRight(typeName.Length + 5, '='));
foreach (var info in infos)
{
object value = info.GetValue(this, null);
sb.AppendFormat("{0}: {1}{2}", info.Name, value != null ? value : "null", Environment.NewLine);
}
return sb.ToString();
}
}
private static UploadResponse GetFileUploadResponse(string fileToUpload, string accessToken, string uploadUrl)
{
// ServicePointManager.DefaultConnectionLimit = 900000;
//HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(uploadUrl);
//wr.KeepAlive = false;
//wr.Timeout = System.Threading.Timeout.Infinite;
//wr.ProtocolVersion = HttpVersion.Version10;
var client = new WebClient();
client.Headers.Add("Authorization", "OAuth " + accessToken);
var responseBytes = client.UploadFile(uploadUrl, fileToUpload);
var responseString = Encoding.UTF8.GetString(responseBytes);
var response = JsonConvert.DeserializeObject<UploadResponse>(responseString);
return response;
}
publicstaticvoidmain(MyVideo)
{
var accessToken=GetAccessToken();
授权(accessToken);
var fileToUpload=video.Path;
var uploadUrl=GetFileUploadUrl(accessToken);
var response=GetFileUploadResponse(fileToUpload、accessToken、uploadUrl);
var uploadedResponse=PublishVideo(响应,accessToken);
}
公共类上传响应
{
公共字符串格式{get;set;}
公共字符串acodec{get;set;}
公共字符串vcodec{get;set;}
公共整数持续时间{get;set;}
公共整数比特率{get;set;}
公共字符串维度{get;set;}
公共字符串名称{get;set;}
公共整数大小{get;set;}
公共字符串url{get;set;}
公共字符串哈希{get;set;}
公共字符串密封{get;set;}
公共重写字符串ToString()
{
var flags=System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.flatterhierarchy;
System.Reflection.PropertyInfo[]infos=this.GetType().GetProperties(标志);
StringBuilder sb=新的StringBuilder();
string typeName=this.GetType().Name;
sb.AppendLine(typeName);
sb.AppendLine(string.Empty.PadRight(typeName.Length+5'=');
foreach(信息中的var信息)
{
object value=info.GetValue(此值为空);
sb.AppendFormat(“{0}:{1}{2}”,info.Name,value!=null?value:“null”,Environment.NewLine);
}
使某人返回字符串();
}
}
私有静态UploadResponse GetFileUploadResponse(字符串fileToUpload、字符串accessToken、字符串uploadUrl)
{
//ServicePointManager.DefaultConnectionLimit=900000;
//HttpWebRequest wr=(HttpWebRequest)WebRequest.Create(uploadUrl);
//wr.KeepAlive=false;
//wr.Timeout=System.Threading.Timeout.Infinite;
//wr.ProtocolVersion=HttpVersion.Version10;
var client=new WebClient();
client.Headers.Add(“授权”、“OAuth”+accessToken);
var responseBytes=client.UploadFile(uploadUrl,fileToUpload);
var responseString=Encoding.UTF8.GetString(responseBytes);
var response=JsonConvert.DeserializeObject(responseString);
返回响应;
}
我已经尝试了Stackoverflow上提供的所有可能的解决方案,也尝试了http执行时间和客户端超时,但不工作,请有人帮助我