1
我有一個WPF應用程序和一個ASP.NET MVC網站。 WPF應用程序使用Kinect捕獲圖像,並將這些圖像保存爲文件。我想要做的是將文件從WPF應用程序發送到ASP.NET MVC網站。使用POST發送圖像
我已經嘗試了以下方法,它從圖像文件獲取字節並將其轉換爲使用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));
}
我怎麼重新組合的MVC側的文件嗎?當我查看Request.Form時,它有1037個不同的密鑰。 – PriestVallon
將您的內容類型更改爲「image/png」。或應用程序/八位字節流,並使參數傳入您的索引頁面。「Stream myimagestream」,從那裏你應該能夠保存流,無論你想要的。 –
流......只是一堆「東西」。你不應該害怕他們。-smiles-一旦你意識到這一點,並且大多數文件類型可以唯一識別流的前256個字節..你會是一個更快樂的人。 (Zip文件是256字節規則的例外..因爲很多文件真的是zip文件..現代PowerPoint文件.. jar文件..現代excel文件..) –