資料庫二進制文件保存文件
A. 以二進制形式保存文件到資料庫 有什麼優點缺點呢請指教 資料庫是mysql,文件類型是doc和txt
優點,不用單獨管理文件了唄,文件數據都在資料庫里呢。用戶想訪問文件的話,你就可以做一些許可權檢查什麼的,通過才給它取數據。
缺點,資料庫稍微有些壓力唄~~~~資料庫文件會變大~~~
B. 如何實現將文件以二進制形式存放到資料庫中
這個很簡單的,這要把表單
這樣設置一下,表單裡面的數據就是以二進制的形式傳到資料庫的,至於怎麼傳到資料庫,這個就不用說吧,一個SQL插入語句就行了的,。
C. 資料庫中的二進制文件如何還原並保存
文件存庫裡面啊?那多佔空間啊!載入是很慢的!是不是圖片?
這里有個操作物理路徑下載的函數:
private void FileDown(string strPath)
{
System.IO.FileInfo file = new System.IO.FileInfo(strPath);
if (file.Exists)
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(file.FullName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.Filter.Close();
Response.WriteFile(file.FullName);
Response.End();
}
else
{
ClientScript.RegisterStartupScript(GetType(), "", "<script language='javascript'>alert('文件不存在!');</script>");
}
}
如果是存取圖片的話:
存:
FileStream fs = new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.Write);
byte[] myData = new byte[fileStream.Length];
fileStream.Read(myData, 0, System.Convert.ToInt32(fileStream.Length));//從流中讀取位元組塊,並將數據寫入到該緩沖區
fileStream.Close();
...把mydata插入到資料庫就好勒!
取:
取出byte[]來,直接image.formStream(fs);
D. 怎樣用VB將資料庫中的二進制文件保存到磁碟
我說下思路
varbinary 的資料庫你能取得到 ,通過sql語句或存儲過程 ,然後 new 一個數組,把這個數組寫入到文件里。文件打開的模式用 w |b 這樣的標識 。