close

有時候用戶會希望把文件例如 jpg、pdf 等等上傳到系統中,作為對電腦數據的依據,這次聊聊怎麼上傳檔案。

上傳檔案基本有兩種方式,一是以檔案模式上傳到 file server ,二是以 Binary 模式寫到數據庫中,各有長短。前者需要另建 file server,也就是需要額外的支出,但由於是以文件是以檔案格式儲存,後台直接用 Windows 的檔案總管就可以打開;後者則把文件寫到原有數據庫中,不必另購,但這會導致數據庫體積變大,增加了備份時間和對硬盤空間的要求,而且由於是以 binary 形式儲存,需要另外加工還原成檔案才能使用。沒有最好的方案,只有最適合的方案,各適其適。就個人經驗所限,這次只能聊聊怎麼寫到數據庫中了。

在 PB 裏,用以儲存 Binary 的變量類型叫 Blob(Binary Large Object),可以儲存 word, excel, email 和圖片之類的東西,把它們轉化成 Binary 後就可以寫到變量中,再更新到數據庫了。

上傳步驟如下:
1.    數據中建立一個 varbinary(max) 的欄位
image

2.    PB 中定義 Blob 變量
   Blob lblob_file

3.    以 FileReadEx() 把檔案放到 Blob 中
   FileReadEx(li_filenum, lblob_file)

4.    在表中插入新行
5.    在 PB 以  UpdateBlob Blob 寫到 varbinary(max) 的欄位中

寫到數據庫中的檔案長這樣,我個人會把檔案類型也存進去,這有助未來可以知道應該用哪程式來開啓檔案。

image

arrow
arrow
    創作者介紹
    創作者 過時程式員 的頭像
    過時程式員

    過時程式員的部落格

    過時程式員 發表在 痞客邦 留言(0) 人氣()