簡體   English   中英

如何安全地在 Spotfire IronPython 腳本中使用臨時文件以供 Web 使用?

[英]How to safely use a tempfile in a Spotfire IronPython script for web use?

我正在嘗試將 Spotfire 可視化導出到 xlsx 文件。 為了導出數據,我需要能夠將可視化的數據寫入臨時文件。 IronPython(2.7.7) 腳本在作為 Spotfire 桌面應用程序運行時工作,因為它使用本地計算機的臨時文件位置。 但是,它在 Web 上不起作用,因為腳本沒有寫入Path.GetTempFileName()返回的服務器臨時文件位置的Path.GetTempFileName()

如何通過腳本安全地寫入臨時文件以在網絡中使用?

腳本:

from System.IO import Path, File, StreamWriter
from Spotfire.Dxp.Application.Visuals import TablePlot

tf = Path.GetTempFileName()
writer = StreamWriter(tf)

# visTable is a script parameter pointing to a TablePlot
visTable.As[TablePlot]().ExportText(writer)

在網絡中運行時出錯:

Could not perform action 'write_to_file'.

Could not execute script 'write_to_file': The directory name is invalid.


   at Spotfire.Dxp.Application.Scripting.ScriptService.Execute(ScriptDefinition script, Dictionary`2 scope, InternalLibraryManager internalLibraryManager, NotificationService notificationService)
   at Spotfire.Dxp.Application.Scripting.ScriptManager.<>c__DisplayClass8_0.<ExecuteScript>b__0()
   at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(Executor executor, Boolean visible, Boolean sticky, Guid stickyGuid, Boolean isHighlight)
   at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(String displayName, Executor executor)
   at Spotfire.Dxp.Application.Scripting.ManagedScript.Execute(Dictionary`2 environment)
   at Spotfire.Dxp.Application.HtmlTextAreaControls.ActionControl.ModifyCore(Object value)
   at Spotfire.Dxp.Application.Visuals.HtmlTextArea.InteractWithControl(String id, Action`1 interaction)

IronPython 版本:2.7.7

Spotfire 版本:10.3.2.8

編輯:內置的右鍵單擊導出功能不是一個選項,因為最終目標是注入我公司的合規信息。

您可以將臨時文件位置設置為 Spotfire 服務器和用戶都可以訪問的網絡驅動器。

我最好的建議是授權用戶右鍵單擊一個視覺對象來下載表格,因為這是最簡單的方法,不需要編碼。

我已經編寫了一些腳本來將數據導出為 CSV 文件,可以在 Desktop Client 和 WebPlayer 中工作,但它是 R 、 Python 、 Javascript 和 HTML 的混亂。 可以在這里找到: 我的 Spotfire Wiki 帖子

我使用 Spotfire Javascript API 在 HTML/ASPX 頁面中呈現我的所有分析。 所以當人們需要下載數據時,我設置了一個按鈕來打開一個只顯示表格的 dxp 頁面,以便用戶可以右鍵單擊下載。 這種方法有助於在需要之前不讓數據可見。 即使 Javascript API 也沒有僅導出到 CSV 或 EXCEL 的 PDF、Visual(圖片)、Powerpoint 和 Reports(確定的 PDF 導出)

https://community.tibco.com/wiki/tibco-spotfire-javascript-api-overview

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM