您好,登錄后才能下訂單哦!
在FineReport中,會(huì)出現(xiàn)希望直接將txt、excel等文件整個(gè)保存在數(shù)據(jù)庫(kù)中進(jìn)行備份,并且希望通過(guò)FineReport制作報(bào)表將這些文件下載下來(lái)的情況。
上傳:使用文件控件上傳文件,以二進(jìn)制流保存至數(shù)據(jù)庫(kù)字段中(字段類型必須是用于保存二進(jìn)制數(shù)據(jù)的);
下載:直接將二進(jìn)制數(shù)據(jù)拖入單元格,設(shè)置單元格的其他屬性>用下載鏈接顯示二進(jìn)制內(nèi)容,就可以下載文件。
下面通過(guò)上傳一個(gè)txt文件至sql server數(shù)據(jù)庫(kù)中并下載為例來(lái)說(shuō)明實(shí)現(xiàn)過(guò)程。Sqlite數(shù)據(jù)庫(kù)僅支持上傳,不支持下載的。
前提準(zhǔn)備
準(zhǔn)備一個(gè)txt文件,數(shù)據(jù)庫(kù)中創(chuàng)建一張數(shù)據(jù)庫(kù)表file,包含字段(filename[文本]、file[Blob對(duì)象])
數(shù)據(jù)庫(kù)不同可以保存文件的字段類型是不同的,以下列出常用數(shù)據(jù)庫(kù)保存二進(jìn)制數(shù)據(jù)的字段類型:
上傳文件至數(shù)據(jù)庫(kù)
模板制作
前提準(zhǔn)備好后,就可以制作一張?zhí)顖?bào)模板,上傳文件到數(shù)據(jù)庫(kù),文件以二進(jìn)制數(shù)據(jù)流保存在數(shù)據(jù)庫(kù)字段中,模板設(shè)計(jì)界面如下,并按照?qǐng)D上說(shuō)明設(shè)置報(bào)表填報(bào)屬性:
如果是單文件上傳,則可嚴(yán)格控制,勾選只支持單文件上傳,還可以設(shè)置允許上傳的文件類型;如果是多文件上傳,就不需要勾選只支持單文件上傳這個(gè)勾選項(xiàng)了。
上傳提交
保存模板,進(jìn)行填報(bào)預(yù)覽,上傳文件并提交,文件就會(huì)以二進(jìn)制數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中:
鼠標(biāo)移至文件控件所在單元格,即B2,單擊右上角的編輯按鈕,進(jìn)入編輯狀態(tài),點(diǎn)擊上傳按鈕即可上傳文件,如下圖:
提交成功之后,在數(shù)據(jù)庫(kù)中可以看到數(shù)據(jù)。
下載
重新打開(kāi)模板,添加數(shù)據(jù)庫(kù)查詢ds1,SQL語(yǔ)句為select *from file,將保存的數(shù)據(jù)查詢出來(lái);將字段拖入到單元格中,并設(shè)置文件字段所在單元格的其他屬性>用下載鏈接顯示二進(jìn)制內(nèi)容,并設(shè)置下載后的文件名:
再次保存模板,填報(bào)預(yù)覽,就可以點(diǎn)擊下載了:
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。