gpt4 book ai didi

android - webview.loadData() 不会加载本 map 片

转载 作者:行者123 更新时间:2023-11-29 16:14:55 26 4
gpt4 key购买 nike

我有一个动态构建的 html 页面。一些图像来自 Internet url,其他图像我想从 Assets 文件夹加载。页面正确呈现互联网图像,但是,它只是拒绝加载本地镜像。我尝试了很多变体,包括以下变体,但没有一个会加载本地镜像。如果所有内容都是从互联网 url 加载的,整个页面都会正确呈现,但我真的不想去互联网寻找不会改变的静态内容。有什么想法吗?

String pageData="一堆html标记...";

//-- 我必须从下面的 img 标签中删除 < 才能通过这个论坛的垃圾邮件过滤器-->

//--尝试1-->pageData += "img src='file:///data/data/(my package)/files/image1.png' alt='my image'>";

//--尝试2-->pageData += "img src='/data/data/(my package)/image1.png' alt='my image'>";

//--尝试3-->pageData += "img src=' src='data:image/jpeg;base64,'"+ readAssetFileAsBase64("image1.png") + "' alt='我的图片'>";

//--尝试4-->炸药!

页面使用..呈现

webview.loadData(pageData,"text/html",null);

但我也试过了

webview.loadDataWithBaseURL("file://", s, "text/html","windows-1252",null);

我无法使用 .loadUrl(),因为页面是动态构建的。我想我可以通过调用 .loadUrl() 将动态页面写入磁盘,但这似乎效率不高。

最佳答案

您需要确保使用基本 url 加载 html,尽管该基本 url 不需要任何相关内容

webView.loadDataWithBaseURL("fake://not/needed", htmlString, mimeType, encoding, "");

然后你可以使用类似这样的方式引用 Assets 文件夹中的东西

file:///android_asset/image1.jpg

“android_asset”路径似乎是您尚未尝试过的东西。如果您的文件不在您的 Assets 文件夹中,那么您需要使用 ContentProvider 为它们提供服务,请参阅我网站上的本教程:http://responsiveandroid.com/2012/02/20/serving-android-webview-resources-with-content-providers.html

关于android - webview.loadData() 不会加载本 map 片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10237406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com