@
naminokoe #1
给一楼个提示。这个应该是主要是去区分图片的展示页面地址和图片的外链地址。我隐约记得链接反过来也能实现对应的功能,就是说不带类似 .png 的链接可能也能外链,带类似 .png 的可能也只是个展示页面。不过一般来说实现起来可能比较难,一般也不会有人干这么反人类的事。感觉有点过拟合的意思,或者说将非本质的属性作为识别某类东西的依据。
关于那个反过来也能实现对应的功能的东西我搜和试了一下,确实可以。说明图片外链可以不带扩展名的回答的链接:
https://stackoverflow.com/questions/3463952/is-it-safe-to-serve-an-image-on-the-web-without-an-extension 。我试的代码试这样的:
Route::get('/test.jpg', function () {
return "test";
});
我用的是 Laravel 。火狐浏览器里看起来是个网页。开发者工具里看好像也是当成 html 了。好像根本就不难。
不要试着打开那个地址。我是改 hosts 文件实现的。
好像是因为浏览器好像主要是根据 MIME 类型来决定如何展示资源的,如果 MIME 类型不对劲或者文件格式不对劲之类的才会辅以其他的手段。
具体如何区分我也说不太明白,可能用浏览器的开发者工具看 MIME 类型是最好的吧。从实践来看,一般右键点击图片,然后点类似“复制图片地址”就能获取图片的外链地址了。不同的浏览器那个“复制图片地址”可能不一样。一般允许外链的网站都会告诉你外链的地址,imgur 不给可能是为了减少用户的外链行为吧。我记得 imgur 之前好像再土拍你的展示页面是给外链地址。
我估计我是个半吊子,可能有说错的地方。欢迎指出来。