在 Linux 中使用 java.util.zip 压缩 SWF 时出现问题

发布于 2024-08-31 08:16:32 字数 716 浏览 10 评论 0原文

我创建了一个 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 服务器是(其中 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!

I've created a servlet that changes the binaries of a SWF file and output it to the user. The SWF is compressed by ZLIB by default. Then I inflate, change the binaries, deflate and output the result.

Everything was running right on a Windows Server 2008 (also in 2003). Currently, we need change the server to Linux, and then, this servlet is somehow outputing a corrupted SWF File... what could be the problem? What intrigues me more is that there is no difference between the Windows and Linux servlet versions.

Is there any undocumented linux specific behaviour for the java.util.zip package?

My Windows Server is (where the servlet is working):

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

My CentOS Server is (where te servlet doesn't work)

  • 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

Any lead would be appreciated!
Cheers,
CaioToOn!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小情绪 2024-09-07 08:16:32

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

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

It's difficult to say more without seeing some code and/or examples of how your SWF files are being "corrupted". To answer your question directly, I can't think of any difference in principle between the zip library on the two platforms. But some things to think about:

  • things that could be different include the default character encoding (are you somewhere converting a string to bytes, which under Linux accidentally puts illegal characters into the file) -- though I admit that off the top of my head, I can't just think where this would be in your particular scenario
  • what other libraries are you relying on?
  • get some logging into your servlet and see what the actual file data looks like at the various stages through the process...
  • in a similar vein, can you elaborate on the way in which the file is "corrupted"-- what error messages do you get, if any? when you compare a "good" file and a "corrupted" file in your hex editor, what difference is there?
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文