【问题标题】:java applet will only save file locally and not on server?java小程序只会在本地保存文件而不是在服务器上?
【发布时间】:2010-10-18 04:06:16
【问题描述】:

我有一个可以在我的台式计算机上本地运行的 java 小程序。但是当我把它放在我的 linux web 服务器上时,它可以工作,但保存文件功能是将文件保存到 web 浏览器临时文件夹而不是 web 服务器。

<applet name="rapplet" type="applet" archive="applets.jar" 
     code="acap.class" codebase="." height="96" width="150"> 
<param name="msg" value="test.snd" />

【问题讨论】:

    标签: java applet


    【解决方案1】:

    Java 小程序在客户端浏览器而不是在服务器上运行,这就解释了为什么不能将文件保存到服务器。

    【讨论】:

    • 我见过java照片上传应用程序将照片保存到网络服务器。我的应用程序正在做的只是录制声音。有什么方法可以将输出保存到服务器,例如 flash(没有 flash 服务器)如​​何为图像、声音和视频应用程序执行此操作。
    【解决方案2】:

    你需要:

    • 处理文件上传的服务器端代码。看看java servlet和commons-fileupload
    • 小程序必须通过 HTTP 发送文件。您可以使用 Apache HttpClient 来做到这一点

    更新:您似乎错过了 Java 小程序的要点 - 它们在客户端上运行。在浏览器中,就是这样。它们与服务器完全无关。如果你想与服务器进行任何通信,你需要一些协议——它可以是 HTTP(正如我建议的那样),它可以是普通的套接字,或者任何其他适合你的协议。

    【讨论】:

    • 我需要在我的服务器上安装 tomcat 才能运行任何 servlet?
    • 是的。或任何 servlet 容器。如果你不想要,你可以有一个 php 脚本来处理上传。
    • php 代码来处理从 java 小程序上传?我可以阻止文件从本地上传到我的计算机并使用php代码将其保存到服务器?
    • 是的。小程序是客户端的,它应该将文件传输到服务器,如果你想要的话。
    • 你能给我一个例子来说明如何用 php 做到这一点吗?
    【解决方案3】:

    如果您站点上的小程序可以将字节直接保存到服务器,那么其他人站点(或许多其他类型的应用程序)上的受信任小程序也可以做到这一点。

    如果有人怀有恶意,他们可能会将几 GB 的数据转储到您的服务器,从而导致各种问题。

    因此,服务器需要保护自己免受此类拒绝服务攻击,并且所有上传都需要通过您的服务器专门提供的接口来完成。例如,此界面可能会检查上传的大小以及是否包含病毒或木马。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-12
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      相关资源
      最近更新 更多