所以我有這樣的代碼:圖像插入數據庫C#
if ((uplImage.FileName != ""))
{
byte[] raw = new byte[10000];
//to allow only jpg gif and png files to be uploaded.
string extension = Path.GetExtension(uplImage.PostedFile.FileName.ToUpper());
if (((extension == ".JPG") || ((extension == ".GIF") || (extension == ".PNG"))))
{
DALBio bio = new DALBio();
FileStream fs = new FileStream(uplImage.PostedFile.FileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read);
fs.Read(raw, 0, System.Convert.ToInt32(fs.Length));
bio.PlayerID = Session["playerID"].ToString();
bio.Pending = 'Y';
bio.Photo = raw;
DALBio.insertImage(bio);
}
}
當我嘗試這一點,流不讀取圖像。 raw
永遠不會獲得圖像。它保持空白,並在執行存儲過程時被捕獲,並說我從未傳過圖像。我相信代碼很好。我不知道爲什麼我無法將圖像存入我的字節數組中。
的代碼似乎是正確的。你確定10000字節就夠了嗎?我試過了,它工作正常。不得不將我的小測試圖片的字節數提高到400 000。 –
考慮在數據庫中存儲文件的文件名引用,並將實際文件存儲在其他位置。 –
我的圖像實際上只有60字節大,當我試圖說只是字節[]原料,然後幾個留置後來使用原料,它只是跳過原料。所以這就是爲什麼我給它一個大小和實例化它更早 – dwarf