每当我阅读有关html和图像的文章时,我都会看到这样的锚标记:
< img src =“http://www.tizag.com/pics/htmlT/sunset.gif”/>
但是,在我的情况下,我已将图像存储在AWS-S3中,而我正在从S3读取图像.这个,我不提前有一条像“http://www.tizag.com/pics/htmlT/sunset.gif”这样的路径
那么当图像存储在S3中时,将图像嵌入到html页面中最常用的技术是什么?图像的路径未知?
如果我的问题令人困惑,我会以不同的方式提出.
我正在建立一个简单的项目.每当用户登录时,他会得到一个页面说“欢迎”,而下面的欢迎说明是个人资料图片.
但是,假设我有10个用户,这10个用户中的每个用户将拥有与图像不同的URL.
例如:
< img src =“http:bucket.amazonaws.com/USER1'\u0026gt;对于用户1 < img src =“http:bucket.amazonaws.com/USER2'\u0026gt;用户2 等等. 因此,我将显示的图像直到运行时才知道,图像路径取决于谁登录.
如何使我的HTML页面变得智能,以便图像src不是常量,并且可以根据谁登录而变得灵活?
JSP中的解决方案,我可以做的,感谢很多答案:
<body> <% String url = (String)request.getAttribute("url"); %> <img src = <%= url %>></img> </body>
request.setAttribute("url","URL to image."); RequestDispatcher view = request.getRequestDispatcher("URLImage.jsp"); view.forward(request,response);
解决方法
您需要某种服务器端编程语言来为每个用户动态生成图像的路径.无论如何,您确实有一个供用户登录的设置.为此,我相信你在某些服务器端脚本语言中有某种框架,如PHP(Laravel,wordpress,CodeIgniter),Java(Spring),Ruby(Rails),Python(Django).
因此,当用户登录时,您的登录脚本应验证用户,您将呈现特定的html页面.您应该显示用户的名称和特定图像.在PHP或Ruby on Rails中,您可以在HTML中嵌入实际的PHP代码或ruby代码.
在PHP中,像这样:
<html> <head> </head> <body> <!-- say PHP Session varibale contains the logged in user's name & bucket name --> <img src="<?PHP echo "https://"+ $_SESSION["bucket_name"] +".amazonaws.com/"+$_SESSION["username"] ?>" /> </body> </html>
在Ruby on Rails中,像这样:
<html> <head> </head> <body> <!-- say Ruby - Rails controller passes @username & @bucketname to view --> <img src="<%= "https://"+ @bucketname +".amazonaws.com/" + @username %>" /> </body> </html>
在Python中 – Django,像这样:
<html> <head> </head> <body> <!-- In Python - Django Suppose you pass context variables username & bucketname to template --> <img src="https://{{ bucketname }}.amazonaws.com/{{ username }}" /> </body> </html>