我有一个网页,要求用户在其计算机上选择并上传zip文件。也要求用户提供服务器上的目标位置。我希望它能够这样工作:当他们告诉我文件在他们的电脑上的位置以及在我的服务器上应该放在哪里,然后单击“发送”按钮,文件将被发送到我的服务器,放置在指定的目录中,并解压缩。
我想通过HTML和JavaScript来实现这一功能。是否可能?如果可以,我该如何去做?
我想通过HTML和JavaScript来实现这一功能。是否可能?如果可以,我该如何去做?
您需要在服务器端执行此操作,因为客户端的浏览器不能直接写入服务器文件系统,这是一个巨大的安全风险。
除此之外,即使使用HTML5和其File API也无法提取ZIP文件。您需要使用PHP或您正在使用的其他语言在服务器上执行此操作。
如果您只想在客户端本地执行操作,可以考虑使用Flash/Java/浏览器扩展,但出于兼容性和性能原因,我不建议这样做。您最好向服务器发送处理请求并返回操作结果。由于您已经在提供HTML页面,因此可以使用相同的服务器来处理ZIP文件。
另一方面,如果您想将ZIP文件写入服务器,则必须像我在第一段中所述的那样在服务器端执行。
您可以使用rawdeflate在JavaScript中解压缩/压缩内容。
正如其他帖子所建议的那样,您不能使用普通浏览器直接保存到本地文件系统。您可以将结果回显到服务器上(在这种情况下,它可能会解压缩),或者如果已安装Flash,则可以使用Downloadify。
大多数现代浏览器支持FileAPI从本地文件系统加载,当然,Chrome、Firefox和Opera都支持。我还没有测试过IE 9。