2010-05-03 30 views
0

我已經創建了一個servlet,用於更改SWF文件的二進制文件並將其輸出給用戶。默認情況下,SWF由ZLIB壓縮。然後我膨脹,改變二進制文件,放氣並輸出結果。使用java.util.zip在Linux中壓縮SWF時出現的問題

一切都在Windows Server 2008上運行(也在2003年)。目前,我們需要將服務器更改爲Linux,然後,此servlet以某種方式輸出損壞的SWF文件...可能是什麼問題?更讓我感興趣的是Windows和Linux servlet版本沒有區別。

java.util.zip包中是否有任何未公開的linux特定行爲?


我的Windows Server的是(servlet的工作):

  • 的Windows Server 2008(6.0 - 86)
  • 的Apache 2.2.11
  • 的Tomcat Java的6.0.16.0
  • JDK 1.6.0_12-b04


我的CentOS的服務器的是(TE servlet沒有工作)

  • 的CentOS 5.4(2.6.18-164.15.1.el5 - I386)
  • 的Apache 2.2.3
  • Tomcat的6.0.16.0
  • Java JDK 1.6.0_12-b04

任何潛在客戶將不勝感激! 乾杯, CaioToOn!

+0

你也許應該粘貼在相關的代碼中。 – Zak 2010-05-03 23:44:55

+0

是否有可能雙重壓縮文件?您確定Apache和Tomcat配置在相關部分中匹配(Apache也是不同的版本)。 – 2010-05-03 23:51:04

回答

1

如果沒有看到一些關於SWF文件如何「損壞」的代碼和/或示例,很難說更多。要直接回答你的問題,我想不出兩個平臺上的zip庫在原理上有什麼不同。但有些事情要考慮:

  • 事情可能不同包括默認的字符編碼(是你的地方將字符串轉換成字節,在Linux下不小心把非法字符到文件) - 儘管我承認,除了我的頭頂,我不能只想到這將在你的特定場景
  • 你依靠什麼其他庫?
  • 得到一些登錄到你的servlet,並看到實際的文件數據看起來像在整個過程的各個階段...
  • 在類似的脈絡,你可以詳細說明文件的方式「損壞」 - 你有什麼錯誤信息,如果有的話?當你在十六進制編輯器中比較「好」文件和「損壞」文件時,有什麼區別?
+0

就是這樣!我正在將字符串輸入到SWF文件中。在Windows中工作正常,但Linux的默認字符集是不同的!只需指定字符集,現在一切正常! 非常感謝尼爾! – 2010-05-04 12:24:49

相關問題