2013-11-17 4 views
3

У меня есть форма файла drupal, я хочу использовать эту форму для загрузки фотографии по умолчанию/files/backgroudimage, и я получаю загруженный путь к файлу и использую его в качестве изображения backgroud для некоторые файлы javascript. мой вопрос я как $ файл-> Ури и file_create_url ($ файл-> Uri)drupal 7 получить путь к файлу

$file = file_load($form_state['values']['Background_image']); 
     // // Change status to permanent. 
     $file->status = FILE_STATUS_PERMANENT; 

первый $url1=$file->uri; дал мне этот результат (относительный путь) public://backgroundimage/image.jpg для второго $url2=file_create_url($file->uri); дал мне полный путь: http://localhost:8080/SiteName/sites/default/files/backgroundimage/image.jpg в моей JavaScript я получить путь и использовать его, чтобы установить Backgroud изображение:

document.getElementById('myElement').style.backgroundImage = 'url('+myUrl+')'; 

вопрос составляет $ myUrl, как это должно быть? это default/files/backgroundimage/image.jpg или public: //backgroundimage/image.jpg ...?

ответ

0

ваш CSS должен находиться в каталоге/сайтах/все/темы/ххх, так что вы не можете получить доступ изображений оттуда

/default/files/backgroundimage/image.jpg

общественность: // фон указывает на/сайты/по умолчанию/файлы/если правильно настроен, но вы не можете использовать URI в JS

вы должны использовать корневой документ относительный путь вместо:

/сайты/по умолчанию/файлы/BackgroundImage/изображение. jpg

+1

Не могли бы вы объяснить свой ответ? – helloflash

+1

см. Отредактированный ответ –

Смежные вопросы