API Web untuk menerima array byte

pemrograman

[ad_1]

Saya mendapatkan kesalahan HTTP 415 Jenis Media Tidak Didukung di HttpResponseMessage.
Bagaimana cara agar kode sisi server berfungsi?

HTTPClient digunakan untuk memposting data array byte sebagai berikut…

menggunakan(HttpClient c=HttpClient baru()
{
c.DefaultRequestHeader.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/octet-stream)

byte[] Data=byte baru { 0x00, 0x01, 0x02… };

HttpResponseMessage r=menunggu c.PostAsync(“http://abc.com/api/File/Filename”, new ByteArrayContent(Data);

if(r.IssuccessStatusCode) mengembalikan nilai true;
kembali salah;
}

Sisi Server (MVC/Razor) menerima array byte sebagai berikut

[HttpPost(“{Filename}”)]

Tugas async publik Posting([FromBody] string Nama file)
{
MemoryStream ms=new MemoryStream((int)Request.Body.Length);
menunggu Permintaan.Body.CopyToAsync(ms);

byte[] b=ms.ToArray(); ms.close();
File.WriteAllBytesAsync(“Data.bin”, b);
kembali b.Panjang;
}

Apa yang saya coba:

Dikompilasi di bawah Visual Studio 2017 yang berjalan pada workstation Windows 10 Pro

Solusi 1

Anda dapat melakukannya sesederhana ini

C#
[HttpPost]
public void Post(byte[] bytes)
{
   //your code
}

Web API menangani array byte sebagai parameter input dengan cukup baik

[ad_2]

コメント

タイトルとURLをコピーしました