2010-11-06 136 views
0

我正面临将图像从一个文件夹应用到另一个文件夹的问题。有可能通过JS意味着请引导我,我有图像路径(例如:C:\Program Files\xampp\htdocs\gallary\images\addnew.gif)只是我想复制图像到另一个文件夹使用JS.Thanks提前。如何使用js将文件从一个文件夹复制到另一个文件夹

+0

你的JS有chrome权限吗?如果是,在哪个浏览器中? – NikiC 2010-11-06 09:44:35

回答

5

你不能在网页浏览器中使用javascript来做到这一点。 Javascript只能在浏览网页的人的浏览器中执行代码,而不能在Web服务器上执行代码。即使这样,JavaScript也会因为安全问题而被“沙箱化”,因此无法访问用户文件等。想象一下如果您访问的每个网页都访问了您的文档文件夹,您的隐私问题!

但是,PHP可以在网络服务器(我假设你已经安装了PHP,因为你的图像的路径中有XAMPP)可以做到这一点。有关PHP函数是copy

bool copy (string $source , string $dest [, resource $context ]) 

在你的情况,你可能想这样称呼它:

success = copy('C:\\Program Files\\xampp\\htdocs\\gallary\\images\\addnew.gif', 'C:\\images\\addnew.gif') 
    if (!success){ 
     echo "Could not copy!" 
    } 

来触发此文件复制时,PHP加载网页的最简单方法。然而,如果你想通过javascript来触发这个文件拷贝,你可能需要使用AJAX风格的技术,其中一个javascript事件在后台向你的web服务器发送一个HTTP请求。网络服务器然后可以在PHP中执行文件复制。如果你采取这种方法,我建议你:

  1. 使用JavaScript API像jQuery具有built in functions使它更容易些。
  2. 非常非常小心安全。你不希望有人在你的网站上窥探,以便能够删除或复制任意文件。
+0

对于AJAX建议+1 – nico 2010-11-06 07:02:34

2

你可以使用MS的JScript http://msdn.microsoft.com/en-us/library/e1wf9e7w(VS.85).aspx

fso = new ActiveXObject("Scripting.FileSystemObject"); 
fso.CopyFile ("c:\\mydocuments\\letters\\*.doc", "c:\\tempfolder\\") 

无法从浏览器完成,但可以在Windows(使用Windows脚本宿主)直接运行它。你也可以用node.js(服务器端的JavaScript)来完成,这将是一个更加跨平台的方式。如果您试图在客户端的浏览器中执行此操作,则出于明显的安全原因,从任何语言都无法实现此操作。

相关问题