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(错误请求)错误。

有谁知道是什么原因引起的吗?

c# post文件到服务器

这里有几个问题可能是什么…

  1. 使用一个替代的重载来添加标题,这将有助于确保它是正确形成的。

    myWebClient.Headers.Add("Content-Type", "audio/x-flac; rate=16000");
    
  2. 源文件名的路径不能根相同…尝试为正在上传的文件提供一个完全限定的路径。如果这有效,那么你就知道问题在哪里,并在构建路径时做一些更合适的事情。