C# 使用c上载文件时出现远程服务器错误(401)
我试图上传一个文件到服务器,但它给我401错误,这是我的代码C# 使用c上载文件时出现远程服务器错误(401),c#,C#,我试图上传一个文件到服务器,但它给我401错误,这是我的代码 static void Main(string[] args) { String key = "EwH6r-U61eveh4kjrx4QiZVjaNrU4QGZ"; String input = @"E:\New folder\untitled_1.png"; String output = @"E:\New folder (2)\untitled_1.png"; String url = "http
static void Main(string[] args)
{
String key = "EwH6r-U61eveh4kjrx4QiZVjaNrU4QGZ";
String input = @"E:\New folder\untitled_1.png";
String output = @"E:\New folder (2)\untitled_1.png";
String url = "https://api.tinify.com/shrink";
WebClient client = new WebClient();
// HttpWebRequest client = (HttpWebRequest)WebRequest.Create(url);
// client.KeepAlive = false;
// client.ContentType = "application/x-www-form-urlencoded";
// client.Method = "POST";
// client.Timeout = System.Threading.Timeout.Infinite;
// client.Credentials = new NetworkCredential("?", "?");
client.UseDefaultCredentials = false;
String auth = Convert.ToBase64String(Encoding.UTF8.GetBytes("api:" + key));
client.Headers.Add(HttpRequestHeader.Authorization, "Basic" + auth);
//String input1 = @"key=GTThtXcEQ7shvgFL-aFy_W_tRNhHgMl3&image=" + Convert.ToBase64String(File.ReadAllBytes(input));
// String input3 = input1+auth;
// byte[] bytes = Encoding.UTF8.GetBytes(input1);
// Stream os = null;
try
{
// client.ContentLength = bytes.Length;
// os = client.GetRequestStream();
// os.Write(bytes, 0, bytes.Length);
client.UploadData(url, File.ReadAllBytes(input));
// client.UploadFile(url, "POST", input);
client.DownloadFile(client.ResponseHeaders["Location"], output);
}
catch (Exception e)
{
Console.WriteLine("compression failed " + e.Message);
}
}`
在生成授权标头字符串时,word Basic和授权密钥之间缺少空格字符:
client.Headers.AddHttpRequestHeader.Authorization,Basic+auth 你有上传那个驱动器的权限吗?是的,我有每次任务的权限