我有一个带有以下端点的API:
api/image/1
返回图像1api/image/random
给我一个随机图像
每当我调用随机图像,比如在同一个网页上连续5次,每次得到的都是相同的图像。这有点像https://picsum.photos/seed/picsum/200/300...
我想要每次调用随机图像都得到不同的图像,即使在同一个网页上调用了10次。这是否有可能?
我有一个带有以下端点的API:
api/image/1
返回图像1api/image/random
给我一个随机图像每当我调用随机图像,比如在同一个网页上连续5次,每次得到的都是相同的图像。这有点像https://picsum.photos/seed/picsum/200/300...
我想要每次调用随机图像都得到不同的图像,即使在同一个网页上调用了10次。这是否有可能?
如issue所述,你基本上可以使用https://source.unsplash.com/random/200x200?sig=递增标识符
。
<img src="https://source.unsplash.com/random/200x200?sig=1" />
<img src="https://source.unsplash.com/random/200x200?sig=2" />
<img src="https://source.unsplash.com/random/200x200?sig=3" />
静态随机图像
通过在URL开头添加/seed/{seed},基于种子获得相同的随机图像。
https://picsum.photos/seed/picsum/200/300
根据Picsum的说法,您可以这样做:
为了在浏览器中请求多个相同大小的图像,请添加随机查询参数以防止图像被缓存:
<img src="https://picsum.photos/200/300?random=1">
<img src="https://picsum.photos/200/300?random=2">
这将产生以下结果:
此外,您始终可以使用其API获取URL列表,它允许您定义图像数量等多种内容。我建议实际阅读他们在网站上发布的小指南。
语法
这里有一个JS技巧,可以在每个请求中获取唯一的图片。
https://source.unsplash.com/random/<width>x<height>
https://source.unsplash.com/random/300x200?sig=${Math.random()}
两行代码。
<img src="https://picsum.photos/200/300">
<img src="https://picsum.photos/200/300">
<img src="https://picsum.photos/200/300?nocache=<?php echo microtime(); ?>" >
<img src="https://picsum.photos/200/300?nocache=<?php echo microtime(); ?>">
<img id = 'imgShow' />
document.getElementById('imgShow').src = 'https://picsum.photos/'+(200+rand())+'/' + (300 + rand()) +'?random=1';}
function rand(){ return Math.floor(Math.random() * 90)} ;
'url' => 'https://picsum.photos/1024/1024?nocache='.microtime()