是否可以加载没有图像名称的图像? 像这样:
<img src="http://www.example.com" />
仅使用url的原因是因为每次在url上都有其他图像,因此图像名称是动态的。
我用谷歌搜索但我找不到解决方案。
答案 0 :(得分:4)
是的,当然。
请记住,文件系统和HTTP请求/响应之间存在差异。当您提出类似这样的请求时:
http://www.example.com/image.jpg
看起来像您正在申请文件。但你实际上在做的是请求一个HTTP资源。 Web服务器接收该请求,在这种情况下很可能将其转换为文件系统路径。 Web服务器将该文件加载到内存中,然后发出带有文件内容的HTTP响应(以及该类型文件的HTTP头)。
关键是,所有文件系统交互都发生在服务器端,Web浏览器或任何客户端发出请求时完全不知道。该数据是来自文件还是数据库条目或其他服务器端位置没有区别。只要生成的HTTP响应包含数据和HTTP标头,就没有区别。
所以你可以轻松地请求这样的东西:
http://www.example.com/someHandler?id=123
也许服务器端处理程序有一些代码可以根据id
值获取特定的数据。也许这些数据是图像。只要图像的响应正确,浏览器/客户端就不会知道差异。
HTTP请求中没有“名称”(在文件名的意义上)的概念,只是资源URL。该URL可以是任何内容。服务器端应用程序负责相应地返回数据和标头。
答案 1 :(得分:0)
如果向http://www.example.com发出请求并且响应是某种形象,那么是。网址不一定要有.jpg
或.png
或其他图像文件扩展名。但是你必须知道你正在执行请求的URL。
答案 2 :(得分: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" />