我有一个 WPF 应用程序和一个 ASP.NET MVC 站点。WPF 应用程序使用 Kinect 捕获图像并将这些图像保存为文件。我想要做的是将文件从 WPF 应用程序发送到 ASP.NET MVC 站点。
我尝试了以下方法,它从图像文件中获取字节并使用 Base64 将其转换为字符串,然后尝试将字符串转换回字节,然后再转换回文件。除了最后的文件损坏并且无法加载之外,整个过程都可以正常工作。
也是发送文件的正确方法还是我最好尝试使用套接字?
WPF 应用程序
var imageUrl = "http://127.0.0.1:18710/Home/Index";
//byte[] imageBytes = set.getImageBytes();
byte[] imb = System.Text.Encoding.UTF8.GetBytes("imagename=" + ImageName + ".png&image=" + Convert.ToBase64String(File.ReadAllBytes(ImageName + ".png")));
var imageReq = (HttpWebRequest)WebRequest.Create(imageUrl);
imageReq.Method = "POST";
imageReq.ContentType = "application/x-www-form-urlencoded";
imageReq.ContentLength = imb.Length;
using (Stream os = imageReq.GetRequestStream())
{
os.Write(imb, 0, imb.Length);
}
ASP.NET MVC 站点
if (image != null && imagename != null)
{
System.IO.File.WriteAllBytes(@"c:\" + imagename, Convert.FromBase64String(image));
}