1

我使用 Codeigniter+TinyMCE。当我从数据库中的 textarea 发布文本和图像时,仅显示文本。为了解决这个问题,我增加了 POST 限制大小,max_allowed_pa​​cket。但这没有帮助。然后我输出转储: $_POST['body'] 只得到:

<p><img alt="" /></p>, 

但在 TinyMCE 源代码中我看到:

  <p><img src="data:image/png;base64,iVBORw0....etc.

echo $this->input->post('body', TRUE);

显示:

     <p><img alt="" /></p> <div id="mcePasteBin" absolute; top: 0px; left: 0;    background:    red; width: 1px; height: 1px; overflow: hidden" c>  <div c><img alt="" /></div> </div>

PS。我从缓冲区插入图像 CTRL+C/CTRL+V 我也安装了 CKEditor 问题相同。还尝试更改表单 enctype 类型。(

在没有 Codeigniter 的情况下,它也可以在简单的 php 中完美运行。

4

1 回答 1

0

根据我的经验,通常无法识别数据 URI 图像;我的假设是,这是由于它们的字符串不是以“http”开头,或者不是以已知的图像文件类型(.jpg;.png;.tiff;.bmp;等)结尾。

我相信在您正在运行的程序中会有解决方案,但认为您会对没有的解决方法感兴趣:

将 URI 缩短为正常外观的字符串,以必要的文件类型结尾。

如果 URI 足够短(大约三千以下),您可以使用 tinyurl,然后将结果传递给 doiop.com,因为它们会让您使用您想要的别名(包括任何 <*.filetype>)只要它从他们的域名开始。在将数据库64编码文件发布到Blogspot时,这对我有用,在那些被拒绝的情况下。

如何自动化这是另一回事;我会感兴趣的。

或者,您可以在您的机器上本地执行此操作,或者通过创建 HTML 页面并使用元刷新;如果我不太忙,我会试试这个并发布结果。

希望有帮助。

于 2013-04-26T03:10:52.310 回答