iT邦幫忙

0

C# 上傳ppt檔案,將檔案存入資料庫

小弟我使用C#MVC框架來開發網站,想讓客戶端上傳ppt,並將ppt直接存入MS SQL裡(img格式)。小弟上網找到PowerPoint.Presentation用法好像只能Export成圖片存在資料夾裡,難道不能直接匯入資料流,存在資料庫嗎?/images/emoticon/emoticon70.gif 小弟對這方面實在很不熟,希望有大大能解答。

看更多先前的討論...收起先前的討論...
舜~ iT邦研究生 2 級 ‧ 2019-05-06 16:42:26 檢舉
可直接把檔案放到資料庫中,但不建議這麼做~~~
因為沒多久你的資料庫就會變得超龐大又笨重~~
個人的作法是資料庫只存路徑與檔名,檔案放在特定路徑的資料夾中~~~
qleakq iT邦新手 5 級 ‧ 2019-05-06 16:56:21 檢舉
可以請教要怎麼做嗎? 資料庫只會放一筆資料(投影片播放公司資訊),我想應該影響不大? 小弟第一次寫資料流的code,有勞大大們給我點範例感激不盡
舜~ iT邦研究生 2 級 ‧ 2019-05-06 17:11:55 檢舉
[ [SQL Server][.NET]上傳檔案到SQL Server資料庫(Varbinary)](https://dotblogs.com.tw/stanley14/2016/06/11/112451)
黃彥儒 iT邦高手 1 級 ‧ 2019-05-06 19:58:56 檢舉
弄錯了
froce iT邦大師 4 級 ‧ 2019-05-06 21:37:32 檢舉
盡量不要這樣搞。
存路徑讀出就好,何必搞得這麼複雜。
qleakq iT邦新手 5 級 ‧ 2019-05-07 11:47:17 檢舉
小弟決定放棄..還是路徑就好,感謝各位大大的回答

2 個回答

1
舜~
iT邦研究生 2 級 ‧ 2019-05-07 08:38:31
最佳解答

建議是存路徑+檔名,檔案存到該路徑中~~~
不論是否是把檔案存到資料庫或是放到特定路徑,要做的事情有兩個
1.上傳檔案
.NET MVC 簡單的多個檔案上傳方法
ASP.NET MVC 檔案上傳教程(一)
2.更新資料庫
使用ASP.NET MVC 實作購物網站 (七) - 使用Entity Framework 連接資料庫
Asp .Net MVC 範例:一個新增、修改、刪除、查詢與檢視的應用程式

若要將檔案存進資料庫中(雖然不建議),那麼就把上傳的檔案用二進位儲存,上傳的方式如上面的第一點

   Stream fs = file.InputStream;
   BinaryReader br = new BinaryReader(fs);
   byte[] bytes = br.ReadBytes((Int32)fs.Length);
   //...(略)...
   // 放 bytes 放進資料表欄位中即可,放的方法請參考上面第二點
qleakq iT邦新手 5 級 ‧ 2019-05-07 11:46:38 檢舉

感謝回答! 小弟還有一個疑問,在MVC的框架中,該怎麼將資料庫圖片(路徑)設定至html img? 在webform裡,我會使用(MemoryStream)
直接設定值給pictureBox1.image(控制項的name),MVC有類似的方法能達成嗎? 還是用model傳2進位的資料給view? ,html img能接受這樣的資料嗎

qleakq iT邦新手 5 級 ‧ 2019-05-07 22:12:55 檢舉

我已經找到解法了,感謝

0
atimhome
iT邦新手 5 級 ‧ 2019-05-07 17:04:29

MSSQL裡面有filetable,可以找看看是不是你要的方式

我要發表回答

立即登入回答