導航壓縮文件夾以導入圖像大家好,
我目前正在努力嘗試從 zip 存檔中包含圖形(tiff)。 我確實找到了一些關於這個主題的其他討論,這些討論看起來很有希望,但我無法為我的特定案例找出一個有效的語法。
我現在處理的主要問題是所有討論似乎在 zip 文件中只有一個“層”(例如,直接在其中包含多個文本文檔的 zip 文件)。 就我而言,我正在尋找的圖形會自動壓縮為文件夾。 打開 zip 文件後,我必須導航到所述文件夾以實際檢索其中的文件列表(如 [...]\filename.zip\foldername\graphics.tif)。 我主要嘗試通過不同的變體來訪問它這個討論也這個帖子在這裡. 但每當我嘗試通過“<
到目前為止,我嘗試將子文件夾合併到 open 語句中
za = open ("[...]\filename.zip\FolderName\", zip);
Show ( za << dir );使用打開的 zip 文件參考進一步向下導航(我不記得我嘗試過的實際語法,已經刪除它)或從兩個版本中按文件名讀取不同的圖形文件
za = open ("[...]\filename.zip\FolderName\", zip);
dat = za << Read( "graphics.tif", Format( blob ) ); or dat = za << Read( "folderName\graphics.tif", Format( blob ) );是否有在 zip 文件中導航文件夾結構的語法? 或者,是否有可能在打開 zip 文件時合併一些“遞歸”語句,以獲取嵌套在下方某處的所有文件?
我期待著您可以分享的任何意見。
此致
馬耳他
回复:導航壓縮文件夾以進行圖像導入2GB 是 JMP 中字符串大小和 JMP zip 存檔支持中 zip 成員大小的限制。
(2GB 是 2^31;這是適合 32 位有符號整數的最大數字。)
JMP blob 不限於 2GB。 我認為 JMP 的未來版本可能也允許大於 2GB 的 zip 成員,然後可以將其讀入 blob。@Paul_Nelson
您可以使用 JMP 的 runprogram 編寫外部 zip 程序的腳本。 如果它是相當新的,則外部程序可能支持 >2GB。
回复:導航壓縮文件夾以進行圖像導入你好@Craige_Hales
感謝您的快速回答,我確實得到了使用您輸入的語法。 不幸的是,我無法讓它為我最初的願望對象工作......
事實證明,我能夠完全使用您提供的語法打開和讀出一些 zip 文件(與使用斜杠還是反斜杠無關),而其他人仍然只返回空白列表。
我可以打開的文件和我不能打開的文件之間的主要區別似乎是 zip 文件的實際大小。 在嘗試打開幾個文件後,當 zip 文件的文件大小超過大約 2GB 時,似乎存在隱藏邊界(我將不得不與我們的 IT 部門核對,看看是否有其他差異我無法訪問/確定的文件)。
我已經嘗試在打開和讀出目錄之間以及在讀出目錄和在日誌中顯示之間實現 20 秒的等待時間,以確保它與計算時間/jmp hickups 無關。 到現在都無濟於事。
在通過 jmp 打開 zip 文件時,您是否知道任何大小限制,或者您有什麼其他建議可以嘗試嗎?
此致
馬耳他
回复:導航壓縮文件夾以進行圖像導入這是令人困惑的,因為許多實用程序將 zip 文件的內容呈現為好像 zip 文件中有一個分層目錄。 它實際上是一個平面目錄,並且 zip 目錄不要求成員名稱以任何特定方式使用正斜杠或反斜杠。 我使用內置 zip 的 windows 構建了 test.zip。
za=open("$desktop/test.zip","zip");
za<
內置瀏覽器的 Windows 是這樣看的
Windows explorer navigating through a zip archive瀏覽 zip 存檔的 Windows 資源管理器
看起來您需要在成員名稱中使用正斜杠而不是反斜杠。