图像未在<img/>标记中加载ftp url

时间:2016-12-23 05:24:13

标签: angularjs cordova ionic-framework hybrid-mobile-app

我试图使用img标签在我的ionic / cordova应用程序中显示用户的照片,如下所示,

 <img src="ftp://10.132.21.100/PatientPhoto/Temp_emp.jpg" alt="no image"/>

图像未显示在APP中(无法加载资源错误)。但是如果我在Android移动浏览器中输入相同的URL(ftp://10.132.21.100/PatientPhoto/Temp_emp.jpg),我可以查看该图像。我正在运行调试版本,所以我猜这不是一个权限问题。我通过在config.xml文件中添加以下行来完成白名单,

<access origin="*"/>

我尝试添加以下行也没有任何成功,

<allow-intent href="ftp://*/*" />
<allow-navigation href="ftp://*/*" />

还将html文件中的Content-Security-Policy添加如下,仍然面临同样的问题。

<meta http-equiv="Content-Security-Policy" content="default-src *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src  'self' 'unsafe-inline' *">

如果我使用img src的http URL,它会工作。图像存储在ftp服务器中,因此我无法使用http URL。任何建议都受到高度赞赏。

4 个答案:

答案 0 :(得分:2)

您需要安装cordova whitelist plugin并配置config.xml文件。

请添加以下标记:<allow-intent href="ftp://*/*" />

或者如果您想允许所有内容:<access origin="*">

答案 1 :(得分:2)

您可以尝试修改src属性,如下所示:

 <img src="ftp://yourusername:yourpassword@10.132.21.100/PatientPhoto/Temp_emp.jpg"/>

它会工作,但你会给每个人你的ftp密码。不要在现场网站上使用它

答案 2 :(得分:1)

您是否拥有内容安全策略标题:

<meta http-equiv="Content-Security-Policy" />

您需要在显示图像的页面上显示此信息。

请参阅以下链接以获取指示:https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/#content-security-policy

答案 3 :(得分:0)

&LT; img src =&#34; ftp://10.132.21.100/PatientPhoto/Temp_emp.jpg"&gt;

在&#34;之间给出src; &#34;并确保您的服务器正在运行