反饋已提交
網絡繁忙
希望直接將 txt、Excel 等小型檔案儲存在資料庫中,並且在報表中將這些檔案下載下來。
上傳:使用「檔案元件」上傳檔案,設定好填報屬性,以二進制流儲存至資料庫欄位中(欄位類型必須是可以存二進制資料的)
每種資料庫可以存檔案的欄位類型是不同的,以下列出常用資料庫儲存二進制資料的欄位類型:
OLE物件
注:Access需使用ODBC連結,方可實現上傳下載
下載:將二進制資料列拖入範本儲存格,設定儲存格屬性的「其他>顯示內容」為用下載連結顯示二進制內容,就可以實現下載。
1)本文檔適用於上傳單檔案場景,如果在同一筆資料中上傳多個檔案,入庫後會出現只儲存了一個檔案的情況。如有多檔案上傳需求,可考慮增加uuid欄位用於區分同一筆資料中的多個檔案。
2)本文檔適用於小檔案的上傳下載,檔案過大會佔用過多的資料庫表空間。如有大檔案上傳需求,建議使用:上傳下載檔案插件
3)設計器自帶的FRDemo所使用的sqlite資料庫,不支援檔案下載。
4)該方案不支援行動端。
5)出於安全考慮,需要登入決策平台帳號後才可以下載檔案
1)在MYSQL資料庫中建立一張資料庫表「檔案」,包含欄位(id[int]、file[longblob]、name[varchar])。如圖所示:
2)建立資料集ds1,從剛才的MYSQL資料庫取數,sql語句為:SELECT * FROM `檔案`
如圖設計範本,A2儲存格為文字元件,C2儲存格為檔案元件。
C2儲存格的檔案元件需勾選「只支援單檔案上傳」。
1)在D2儲存格插入公式:=if(len(filename(C2)) = 6, B2, filename(C2))。公式的含義為:當檔案元件未上傳檔案時,直接取資料庫中的檔案名稱,否則則使用filename()函式獲取上傳的檔案名稱。
2)如果有插入列需求,那麼需要選中 D2 儲存格,設定「儲存格屬性>其他>插入列策略」為原值,否則插入的列的公式會失效。
3)在報表填報屬性中新增內建SQL,綁定欄和值,如下圖所示:
4)隱藏B欄和D欄。
選中 C2 儲存格,設定儲存格的「其他>顯示內容」為用下載連結顯示二進制內容,並設定「下載檔案名」為=B2,如下圖所示:
注:下載檔案名稱處為必填項,不填會下載 txt 或者 zip 包之類的亂碼檔案下來。
儲存範本,點選填報預覽。在C2儲存格可完成檔案的上傳和下載,並支援重新上傳檔案改寫之前儲存的檔案。如下圖所示:
資料庫中儲存的資料如圖所示:
點選下載範本:檔案上傳至資料庫並下載.cpt
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙