Как получить временную папку для загрузки файла на сервер с помощью jquery - PullRequest
0 голосов
/ 25 ноября 2011

Получить временное местоположение для загрузки файла на сервер, используя jquery или только javascript.

Возможно ли получить временное местоположение для загрузки файла в самом javascript.

В HTML

 <input type="file" id="ProfileUserImage" class="fileInput" name="data[Profile][userImage]" onchange= "getTempLocation()"> 

In Javascript

 function getTempLocation() {

   // code to get temp location of file.

  }

1 Ответ

0 голосов
/ 25 ноября 2011

Как предположил Блендер, нет, вы не можете.Если вы используете PHP, я знаю, что временный файл удаляется из файловой системы при завершении сценария.

Вы все еще можете решить проблему:

Я делаю несколько предположений о том, что вы хотите сделать, но это может помочь:

  • Используя ваш сервер, вам нужно будет сохранить изображение в новом месте.Это может быть ваше собственное «временное» местоположение.
  • Передайте новое местоположение клиенту, возможно, используя AJAX, и отобразите изображение.
  • Затем пользователь может одобрить изображение, а затем отправить запрос на сервер для сохранения изображения.в постоянное местоположение.
  • Если пользователь существует на странице до утверждения изображения, используйте задание CRON для удаления временных файлов с подходящей для вас частотой.

РЕДАКТИРОВАТЬ:

Руководство PHP для загрузки файлов расскажет вам точно, как загрузить файл и переместить его в новое место.Смотрите здесь .После того как вы загрузили изображение, сохраните его в своей БД или в пользовательском сеансе, чтобы вы могли отобразить его позже.Как только ваш сценарий завершится, перезагрузите страницу и создайте HTML-элемент изображения, который указывает на источник нового изображения.

Если вы хотите сделать это с ajax, вам нужно будет выполнить загрузку файла с помощью iFrame или с помощью XMLHttpRequest, но передача файлов таким способом доступна только в более новых браузерах (по крайней мере, FF 3.6, IE9, но неконечно на Chrome).Несколько библиотек могут сделать это, см. здесь .Направьте загрузчик ajax-файла на скрипт php (такой же, как и раньше), после завершения загрузки получите скрипт php, который вернет новое местоположение в виде JSON или чего-то еще, если вы предпочитаете.Используя Javascript, вы можете получить доступ к JSON, и у вас будет местоположение файла.СОВЕРШЕНО!

То, что вы пытаетесь сделать, не так уж сложно, но и не так просто, поэтому не ждите, что ваша проблема решится за 5 минут.Библиотеки для загрузки файлов должны помочь вам и сделать большую часть работы за вас.

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