c# post文件到服务器
本文关键字:服务器 文件 post | 更新日期: 2023-09-27 18:16:42
我正忙着转换一个perl脚本,该脚本将音频文件发布到服务器到c#
这是perl脚本:
#!/usr/bin/perl
require LWP::UserAgent;
my $url = "url";
my $audio = "";
open(FILE, "<" . "test.flac");
while(<FILE>)
{
$audio .= $_;
}
close(FILE);
my $ua = LWP::UserAgent->new;
my $response = $ua->post($url, Content_Type => "audio/x-flac; rate=16000", Content => $audio);
if ($response->is_success)
{
print $response->content;
}
1;
这是我的c#代码
string uriString = "url";
WebClient myWebClient = new WebClient();
myWebClient.Headers.Add("Content-Type: '"audio/x-flac; rate=16000'"");
byte[] responseArray = myWebClient.UploadFile(uriString, "POST", "test.flac");
string response = Encoding.ASCII.GetString(responseArray);
Console.WriteLine(response);
由于某种原因,如果我运行c#代码,它会一直返回一个400(错误请求)错误。
有谁知道是什么原因引起的吗?
这里有几个问题可能是什么…
-
使用一个替代的重载来添加标题,这将有助于确保它是正确形成的。
myWebClient.Headers.Add("Content-Type", "audio/x-flac; rate=16000");
-
源文件名的路径不能根相同…尝试为正在上传的文件提供一个完全限定的路径。如果这有效,那么你就知道问题在哪里,并在构建路径时做一些更合适的事情。