2013年9月4日星期三

html img 使用data格式加载图片 - kaixiang

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
html img 使用data格式加载图片 - kaixiang  阅读原文»

背景

这久闲来无事给一位客户测试一款体检软件,是winform结构的,其中有一个功能是需要把生成的体检报告导出为html格式。测试导出后直接在谷歌浏览器里查看,体检详细内容、医生签名、条形码都能正常显示。关闭浏览器准备进行下一项测试,这时发现导出的就一个html文件,桌面上扫了好几遍也没看到医生签名和条形码这两个图片文件。心想这怎么能难倒我,也是重新在浏览器里打开,按下F12看个究竟。不过看了之后更让我纳闷了,img标签的src属性并不是显示图片的路径,而是一大堆字符<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAA...SAAAAABJRU5ErkJggg==" />,内容实在太长中间的"..."省略了大部分。研究了半天也看不出个所以然,但是从base64字样看得出后面的那堆字符应该是base64编码的字符串。难道是把图片编码为base64?心里一个大大的疑问。接触html这么久,也做了很多网站,可从未见过这种方式加载图片,甚至也从没听说过,难道是自己out啦!带着心中的疑问,迅速打开w3cschool找到介绍img标签的内容,仔细的看了一遍二遍,也没找到有价值的线索,这东西还真悬乎。看来只能寄希望于百度了,很麻利的输入关键字百度一下回车OK,打开搜索到的第一个链接,没让人失望就是我要找的答案,仔细阅读原来真是这么回事。

原来如此

这是什么呢,来扫下盲。Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入。在上面的Data URI中,data表示取得数据的协定名称,image/png 是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/png文件base64编码后的数据。

下面这幅图就是就是使用这种方式显示的,有兴趣你可以F12看下代码哦。

云计算之路-试用Azure:竟然无法重置虚拟机的管理员密码 - 博客园团队  阅读原文»

在忘记管理员密码的情况下,可以远程重置服务器的管理员密码是云计算服务的一个优势,这是使用自己的物理服务器无法实现的。

但是,在使用Azure的时候,我们找遍Azure管理控制台也没找到可以重置虚拟机(Virtual Machine)管理员密码的地方。

Google一下发现原来Azure根本没有提供这个功能:

As of now there is no way Subscription owner to reset the password externally or outside the Azure VM.

A:The virtual machines on Windows Azure allow to connect from RDP. But how can I reset the administrator password if the password has been lost?

Q:There is no way to do this now, but you can get the data off of the drive if you need to. Please see the Microsoft answer here.

来看看其他云计算服务商的情况:

1、亚马逊AWS的EC2虚拟机是可以重置管理员密码的,操作方法如下(来自EC2 Windows password recover):

I ran across this scenario and found a solution using the unique setup of EC2 on another site: http://www.smattie.com/2012/01/23/video-remotely-reset-windows-password-via-ec2-config-service/

The video is long, so to summarize the steps:

  1. Create a new scratch EC2 instance running 2003 server, and log into it.
  2. Shut down your lost instance (the one you can't log into) from the AWS console.
  3. On the EC2 console, go to Elastic Block Store/Volumes and find your C: disk volume, and Detach it.
  4. On that same volume, attach it to your scratch EC2 instance. You can see it appear in Disk Manager and you'll get a new D: drive letter.
  5. Go to D:\Program Files\Amazon\Ec2ConfigService\Settings\ and edit config.xml with notepad
  6. The first setting in the file is for the Ec2SetPassword plugin; change the State field from Disabled to Enabled. Save & close.
  7. On the AWS console, Detach the volume from the scratch instance (don't worry, it safely detaches from Windows)
  8. Attach the volume to your original lost instance, as /dev/sda1
  9. Start the instance. After a few minutes, run the Get Windows Password function which will have the newly generated password.

2、阿里云直接可以在管理控制台重置云服务器的管理员密码,操作时需要进行手机或邮箱验证。

建议Azure能够增加这个功能,并希望这个功能成为云计算服务的标配。


本文链接:http://www.cnblogs.com/cmt/p/3302846.html,转载请注明。

阅读更多内容

没有评论:

发表评论