我正在使用“file:///some_dir/image.jpg”源路径在页面上加载图像。我可以使用此路径在常规选项卡中访问图像。此外,将页面另存为 HTML 并将此路径用于图像也可以。但是,图像不会加载到实时页面上。在 chrome 中它显示了部分替代文本,而在 firefox 中它显示了一个窄条。我试过更改宽度和高度但无济于事。有什么我想念的吗?
<img title="Click to enlarge" src="file:///Users/Aram/uploads/profile.image.985b0f707d972bf3.4372696242656464696e67616e645465657468696e67437269625261696c436f7665722e6a7067.jpg" class="profile-image">
编辑:
我注意到我在控制台中得到了这个:
Not allowed to load local resource
有什么办法解决这个问题吗?
编辑 2:
由于无法通过 http 路径访问图像,因此我决定将其作为 base64 数据读入。对于任何其他使用 web2py 或其他 Python 框架的人:
# Load the image data
import os
path = os.path.join(request.folder, 'uploads', filename)
data_uri = open(path, 'rb').read().encode('base64').replace('\n', '')
data = 'data:image/png;base64,%s' % data_uri
return html.IMG( _src=data, _class='profile-image', _title='Click to enlarge' )
最佳答案
网站不允许使用用户计算机上的本地文件。使用 html 文件目录的相对路径。
您也可以直接对图像进行编码和嵌入:
如何嵌入编码的东西:http://www.sweeting.org/mark/blog/2005/07/12/base64-encoded-images-embedded-in-html Python 编码说明:http://www.daniweb.com/software-development/python/code/216635
关于html - HTML 图像和 'file://' 指定的 src 异常问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7782360/