2013-06-18 3 views
2

У меня есть папка на моем ftp-сервере, которая содержит несколько изображений. Я пытаюсь получить доступ и показать эти изображения на веб-странице, какПолучить изображение с FTP на веб-страницу

<img src="ftp://my_ftp_ip_address/Images/imagename.jpg"/> 

Но запрашивает FTP имя пользователя и пароль. Как я могу это достичь? Также можно сделать то же самое с помощью java?

+0

Что вы подразумеваете под «тем же использованием java»? –

+0

Я имею в виду, есть ли образец java-кода (jsp) для доступа к изображению с ftp на веб-страницу. – mpsbhat

+0

Спасибо @Strawberry за редактирование. – mpsbhat

ответ

0

Вы можете попытаться изменить свой атрибут Src, как это:

<img src="ftp://username:[email protected]_ftp_ip_address/Images/imagename.jpg"/> 
+6

Но тогда вы будете давать каждому свой FTP-пароль. – developerwjk

+5

Пожалуйста, не используйте это на живом сайте. – dkanejs

2

Вы рассказываете браузер для доступа к изображениям с использованием протокола FTP, поэтому он пытается войти в систему.

Изменить ftp: // на http: // (или https: // при использовании ssl) для доступа к изображениям.

Вы можете Offcourse также добавить имя пользователя и пароль к образу, но таким образом, каждый может посмотреть на код и войти в свой FTP-сервер ... не очень безопасный;)

+0

Но моя веб-страница закрыта в моем локальном хосте. – mpsbhat

+0

так? Это не оправдание, если вы не сделаете это правильно. Используйте http (s). Или файл: // если у вас нет локального веб-сервера – Pinoniq

0

В то время как вы действительно можете добавить учетные данные к URL-адресу FTP, это не имеет большого смысла. Таким образом, вы делаете учетные данные общедоступной информацией. Если вы в порядке, почему бы не разрешить анонимный доступ к файлам сразу?


Во всяком случае, лучшим решением является маршрут изображения через веб-сервер, прячась не только удостоверение, но и оригинал изображения.

Создать скрипт (PHP или любой другой вы используете), который действует в качестве источника изображения (вы будете использовать его в атрибут <img src=...>. Сценарий «производить» изображение, загрузив его с FTP-сервера.

наиболее простой способ реализации такого сценария (скажем, image.php) является:

<? 

header('Content-Type: image/jpeg'); 

echo file_get_contents('ftp://username:[email protected]/path/image.jpg'); 

И затем использовать его в HTML, как:

<a src="image.php" /> 

(предполагая, что image.php находится в той же папке, что и HTML-страницы)


Скрипт использует FTP URL wrappers. Если это не разрешено на вашем веб-сервере, вам нужно идти более жестко с функциями FTP. См PHP: How do I read a file from FTP server into a variable?


Хотя на самом деле правильное решение, вы должны предоставить некоторые HTTP-заголовки, связанные с файлом, как Content-Length, Content-Type и Content-Disposition. Для этого см. Download file via PHP script from FTP server to browser with Content-Length header without storing the file on the web server.

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

  • Нет связанных вопросов^_^