2014-02-13 26 views
4

Можно ли загрузить изображение без названия изображения? Как это:Можно ли загрузить изображение без имени изображения?

<img src="http://www.example.com" /> 

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

У меня Googled, но я не могу найти решение.

+0

если только эта ссылка не возвращает другое имя, это невозможно – anurupr

+0

Название изображения является частью URL-адреса , Таким образом, это не «без имени изображения», это просто другой URL-адрес. – Jon

+2

Если 'http: //www.example.com' возвращает что-то с типом MIME изображения, он должен работать – RononDex

ответ

0

Да, это так!

Предположив вы можете использовать PHP на сервере http://www.example.com/

Если добавить index.php с этим кодом:

<?php 
    $file = '../image.jpg'; 
    $type = 'image/jpeg'; 

    header('Content-Type:'.$type); 
    header('Content-Length: ' . filesize($file)); 
    readfile($file); 
?> 

http://www.example.com/ собирается вернуть изображение (с правильным MIME), что может читайте так: <img src="http://www.example.com" />

4

Да, конечно.

Имейте в виду, что существует разница между файловой системой и HTTP-запросом/ответом. Когда вы делаете запрос на что-то вроде этого:

http://www.example.com/image.jpg 

Это выглядит вы запрашиваете файл. Но то, что вы на самом деле делаете, запрашивает HTTP-ресурс. Веб-сервер получает этот запрос и, скорее всего, в этом случае переводит его в путь к файловой системе. Веб-сервер загружает этот файл в память, затем выдает ответ HTTP с содержимым файла (и заголовки HTTP для этого типа файла).

Дело в том, что взаимодействие с файловой системой происходит на стороне сервера, полностью неизвестно веб-браузеру или любому другому клиенту, делающему запрос. Независимо от того, пришли ли эти данные из файла или записи в базу данных или какое-либо другое расположение на стороне сервера, это не имеет никакого значения. Пока полученный HTTP-ответ содержит данные и заголовки HTTP, нет никакой разницы.

Таким образом, вы можете так же легко просить что-то вроде этого:

http://www.example.com/someHandler?id=123 

И возможно, что на стороне сервера обработчик код для извлечения определенной части данных на основе этой id значения. Возможно, это данные. Пока ответ правильный для изображения, браузер/клиент не будет знать разницу.

В HTTP-запросах нет понятия «имя» (в смысле имени файла), а только URL-адрес ресурса. Этот URL-адрес может быть любым. Это приложение на стороне сервера должно возвращать данные и заголовки соответственно.

0

Если запрос будет сделан в http://www.example.com, и ответ будет каким-то образом, то да. URL не обязательно должен иметь .jpg или .png или другое расширение файла изображения. Но вы должны знать URL-адрес, к которому вы выполняете запрос.

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