php - 使用 quilljs 在服务器上上传图像并在图像标签内添加文件路径

标签 php mysql angularjs cakephp quill

我正在为我的编辑器使用 quilljs。我所有的数据都由 mysql 数据库处理。我正在使用 Angularjs 1.x,而后端 Cakephp 是我的框架。 我目前正在尝试构建一个论坛类型的页面,我想在其中保存多个图像以及将使用 quilljs 格式化的文本

<p>sd<img src="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgA....SUVORK5CYII=" alt="i am image"><b>it is image of earth</b></p>

这是当前存储在我的数据库中的内容。现在,如果有多个大图像进来,那么字段的大小会太大,因为我想在服务器端文件夹中上传图像,并想在图像标签中打印图像地址,如:

 <p>sd<img src="../img/709f2d0be9d13c645037f1b9bb066b00a6d7/image1.jpg" alt="i am image"><b>it is image of earth</b></p>

所以我可以直接从给定的文件夹中获取图像。

最佳答案

我用 quilljs 做了一些小技巧。我在 quilljs 中放置了一些代码,这些代码在 if (typeof value === 'string') 之后的第 8663 行向我的 php 脚本发送图像这条语句我已经添加了将图像值发送到我的 php 脚本的脚本

var img = {
                'img' : value
            }
            $.ajax({
                    url: "../Writers/writerCertificateupload",
                    data: img, 
                    contentType: undefined,
                    type: 'post'
           }).success(function(path){
                node.setAttribute('src', path);
            })

哪里node.setAttribute('src', path);设置我从 php 脚本返回的路径,它将它设置在图像标签上,即 <img src="../img/709f2d0be9d13c645037f1b9bb066b00a6d7/image1.jpg"> 然后它在编辑器中设置它,然后我们可以在编辑器中保存该数据。这就是我解决这个问题的方法。

我的 php 代码是

        public function writerCertificateupload()//pending
    {
            $id = $this->Auth->user('id');
            $this->autoRender=false;
            define('UPLOAD_DIR', 'files/post/');
            $img = $_POST['img'];
            $img = str_replace('data:image/jpeg;base64,', '', $img);
            $img = str_replace(' ', '+', $img);
            $data = base64_decode($img);
            $file = UPLOAD_DIR . uniqid() . '.jpg';
            $success = file_put_contents($file, $data);

            $file = "../".$file;
            print $success ? $file : 'Unable to save the file.';
    }

关于php - 使用 quilljs 在服务器上上传图像并在图像标签内添加文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41742475/

相关文章:

javascript - 如何在不同的文件中为 Angular JS 定义常量

javascript - Angularjs 指令附加 $http 请求

javascript - Angular Route 不起作用 - 模板 url 出现问题

php - 对于同一服务器,CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT 具有良好的生产值

php - php 获取浏览量

php - 如何创建第一个数据库用户帐户?

php - 尝试简化更新代码

php - 我的 php 脚本至少需要 5 秒来加载

php - 在 XPath 中实现条件

php - 替换字符串的第二个实例