【问题标题】:Problem when compressing SWF in Linux with java.util.zip在 Linux 中使用 java.util.zip 压缩 SWF 时出现问题
【发布时间】:2010-05-03 23:42:16
【问题描述】:

我创建了一个 servlet,它可以更改 SWF 文件的二进制文件并将其输出给用户。 SWF 默认由 ZLIB 压缩。然后我充气、更改二进制文件、放气并输出结果。

一切都在 Windows Server 2008 上正常运行(也在 2003 年)。目前,我们需要将服务器更改为 Linux,然后,这个 servlet 以某种方式输出损坏的 SWF 文件......可能是什么问题?更让我感兴趣的是,Windows 和 Linux servlet 版本之间没有区别。

java.util.zip 包是否有任何未记录的 Linux 特定行为?


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

  • Windows Server 2008 (6.0 - x86)
  • Apache 2.2.11
  • Tomcat 6.0.16.0 Java
  • 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!

【问题讨论】:

  • 你也应该粘贴相关代码。
  • 您是否可以对文件进行双重压缩?您确定相关部分的 Apache 和 Tomcat 配置匹配吗(Apache 也是不同的版本)。

标签: java linux flash zlib


【解决方案1】:

如果没有看到一些代码和/或您的 SWF 文件如何“损坏”的示例,很难说更多。直接回答你的问题,我想不出两个平台上的zip库在原理上有什么区别。但有些事情需要考虑:

  • 可能不同的东西包括默认字符编码(你是不是在某个地方将字符串转换为字节,在 Linux 下它会不小心将非法字符放入文件中)——尽管我承认这是最重要的在我的脑海中,我不能只是想在你的特定场景中这会是什么
  • 您还依赖哪些其他库?
  • 登录到您的 servlet 并查看在整个过程的各个阶段实际文件数据的样子...
  • 以类似的方式,您能否详细说明文件“损坏”的方式——如果有的话,您会收到哪些错误消息?当您在十六进制编辑器中比较“好”文件和“损坏”文件时,有什么区别?

【讨论】:

  • 就是这样!我正在将字符串输入到 SWF 文件中。在 Windows 中运行良好,但 Linux 的默认字符集不同!只需指定字符集,现在一切正常!非常感谢你,尼尔!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多