我需要幫助將從jquery ajax接收到的文件轉換爲字節數組。我正在使用一個名爲ajaxfileupload的插件,然後從jquery ajax調用我發送文件從文件上傳控件到處理程序。這裏是我的 處理代碼:將從jquery接收到的文件轉換爲字節數組
if (context.Request.Files.Count > 0)
{
string path = context.Server.MapPath("~/Temp");
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
var file = context.Request.Files[0];
string fileName;
if (HttpContext.Current.Request.Browser.Browser.ToUpper() == "IE")
{
string[] files = file.FileName.Split(new char[] { '\\' });
fileName = files[files.Length - 1];
}
else
{
fileName = file.FileName;
}
string fileType = file.ContentType;
string strFileName = fileName;
FileStream fs = new FileStream("~/Temp/" + strFileName, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
Byte[] imagebytes = br.ReadBytes((Int32)fs.Length);
br.Close();
fs.Close();
DBAccess dbacc = new DBAccess();
dbacc.saveImage(imagebytes);
string msg = "{";
msg += string.Format("error:'{0}',\n", string.Empty);
msg += string.Format("msg:'{0}'\n", strFileName);
msg += "}";
context.Response.Write(msg);
}
我將文件保存到一個文件夾一個項目中,然後嘗試檢索文件並將其保存到數據庫中。我可以向你保證圖像正被保存到臨時文件夾。問題在於(*)文件路徑錯誤。這是正在檢索的文件路徑。 「'C:\ Program Files \ Common Files \ Microsoft Shared \ DevServer \ 10.0 \〜\ Temp \ 2012-06-03 01.25.47.jpg'。」。臨時文件夾位於我的項目本地,我想要檢索該文件夾內的圖像。如何將文件路徑設置到我想要的位置?或者有另一種方法來從jquery ajax調用中獲取它後將文件轉換爲字節數組?
積分這些文章:
- Save and Retrieve Files from SQL Server Database using ASP.NET
- Async file upload with jQuery and ASP.NET
考慮這篇文章:[未激發的樣子瀏覽器嗅探](http://balpha.de/2012/07/an-unexcited-look-at-browser-sniffing/) – abatishchev 2012-07-10 15:13:20