我正在尝试将文件(图像)从WPF应用程序上传到Web Api控制器。在控制器中,我将文件转换为位数组并将其保存在数据库中。我使用以下代码将文件发送到 Web API
var client = new WebClient();
client.UploadFile("URI", "POST", "filepath");
在我的网络 api 中,我正在检查传入的请求是否是 MimemultipartContent
if (Request.Content.IsMimeMultipartContent())
这工作正常。但是当我尝试发送数据缓冲区而不是文件时,我卡住了如何编写服务器端代码。
var bytes = File.ReadAllBytes('filepath');
client.UploadData("URI", "POST", bytes);
知道了。其实很简单。
var task = Request.Content.ReadAsByteArrayAsync();
var bytes = task.Result;
Image img = new Image();
img.Id = Guid.NewGuid();
img.ImageData = bytes;
db.Images.Add(img);
db.SaveChanges();