Как скопировать файл из одной папки в другую с помощью js - PullRequest
0 голосов
/ 06 ноября 2010

Я столкнулся с проблемой при копировании изображений из одной папки в другую. Это возможно с помощью JS, пожалуйста, укажите мне, у меня был путь к изображению (например: C:\Program Files\xampp\htdocs\gallary\images\addnew.gif), просто я хочу скопировать изображения в другую папку, используя js .thanks заранее.

Ответы [ 2 ]

5 голосов
/ 06 ноября 2010

Вы не можете использовать JavaScript для этого в веб-браузере. Javascript может выполнять код только в браузере пользователя, просматривающего веб-страницу, но не на веб-сервере. Даже в этом случае 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 отправляет HTTP-запрос на ваш веб-сервер в фоновом режиме. Затем веб-сервер может сделать копию файла на PHP. Если вы используете этот подход, я бы порекомендовал вам:

  1. Используйте javascript API, такой как jQuery , который имеет встроенные функции , чтобы сделать это проще.
  2. Будьте очень, очень осторожны с безопасностью . Вы не хотите, чтобы кто-то шпионил на вашем сайте, чтобы иметь возможность удалять или копировать произвольные файлы.
2 голосов
/ 06 ноября 2010

Вы можете использовать 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 на стороне сервера), который будет более кроссплатформенным.Если вы пытаетесь сделать это в браузере на стороне клиента, это невозможно с любого языка по очевидным причинам безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...