Spaces:
Sleeping
Sleeping
Update src/streamlit_app.py
Browse files- src/streamlit_app.py +13 -14
src/streamlit_app.py
CHANGED
|
@@ -701,12 +701,12 @@ if st.session_state.get("batch_results") and isinstance(st.session_state.batch_r
|
|
| 701 |
csv_content = csv_output.getvalue()
|
| 702 |
|
| 703 |
# 顯示 CSV 報告的下載按鈕
|
| 704 |
-
|
| 705 |
-
|
| 706 |
-
|
| 707 |
-
|
| 708 |
-
|
| 709 |
-
|
| 710 |
if medium_risk_items:
|
| 711 |
st.success(f"✅ 檢測到 {len(medium_risk_items)} 條中風險 Log/Alert。")
|
| 712 |
|
|
@@ -728,14 +728,13 @@ if st.session_state.get("batch_results") and isinstance(st.session_state.batch_r
|
|
| 728 |
csv_output.write(line)
|
| 729 |
|
| 730 |
csv_content = csv_output.getvalue()
|
| 731 |
-
|
| 732 |
-
|
| 733 |
-
|
| 734 |
-
|
| 735 |
-
|
| 736 |
-
|
| 737 |
-
|
| 738 |
-
)
|
| 739 |
else:
|
| 740 |
st.info("👍 未檢測到任何標註為 High-risk detected 的 Log/Alert。")
|
| 741 |
|
|
|
|
| 701 |
csv_content = csv_output.getvalue()
|
| 702 |
|
| 703 |
# 顯示 CSV 報告的下載按鈕
|
| 704 |
+
def create_download_link(val, filename):
|
| 705 |
+
b64 = base64.b64encode(val)
|
| 706 |
+
return f'<a href="data:application/octet-stream;base64,{b64.decode()}" download="{filename}.csv">Download file</a>'
|
| 707 |
+
|
| 708 |
+
download_url = create_download_link(csv_content, 'high_risk_report')
|
| 709 |
+
|
| 710 |
if medium_risk_items:
|
| 711 |
st.success(f"✅ 檢測到 {len(medium_risk_items)} 條中風險 Log/Alert。")
|
| 712 |
|
|
|
|
| 728 |
csv_output.write(line)
|
| 729 |
|
| 730 |
csv_content = csv_output.getvalue()
|
| 731 |
+
|
| 732 |
+
def create_download_link(val, filename):
|
| 733 |
+
b64 = base64.b64encode(val)
|
| 734 |
+
return f'<a href="data:application/octet-stream;base64,{b64.decode()}" download="{filename}.csv">Download file</a>'
|
| 735 |
+
|
| 736 |
+
download_url = create_download_link(csv_content, 'medium_risk_report')
|
| 737 |
+
|
|
|
|
| 738 |
else:
|
| 739 |
st.info("👍 未檢測到任何標註為 High-risk detected 的 Log/Alert。")
|
| 740 |
|